`
文章列表
            一个多月前在做影音播放器时遇到一个问题,就是在视频列表中显示每个视频第一帧,第一帧是显示出来了,可是滑动的时候出问题了,严重卡顿啊!!!一开始想的是要对图片进行压缩,压缩之后还是卡,然后想到了要开子线程(因为在Android中主线程不能执行耗时操作),把获取视频第一帧的操作放进去,这时候旧问题没有解决,新的问题又出现,图片与视频错位了,查了很多资料最后还是没有很好的解决。            直到今天这个问题终于完美解决了。也就写了ImageLoader类,大概50行代码。我们把获取视频第一帧的操作放入子线程中,根据传入的image(你要显示的在那个位置的图片,也就 ...
恍恍惚惚大二一年又过去了,马上要进入大三了,第一篇博客是刚上大二时候写的,到现在怎么感觉博客质量倒不如从前了,一直忙碌,却感觉没有忙出什么成效来,更博也少了,也只是贴上些代码,文字的描述更少了,感觉自己变得敷衍了,看来是应该反思反思这一年都干了什么。好吧,废话也不多说了,先贴上这篇最近学习spring的一点总结吧 1.什么是Spring,Spring是用来干嘛的? Spring是一个非常活跃的开源框架;它是一个基于Core来构架多层JavaEE系统的框架,它的主要目地是简化企业开发.
总结了很久的排序算法,自己测试了很多次,一直写在笔记本上,还是怕弄丢了,还是贴到博客上面来吧 //冒泡排序: /** * 交换排序--冒泡排序 * * @param arr */ public static void bubbleSort(long arr[]) { int exchange = 1;// 1为有交换,0为无交换 // 最多需要arr.length-1次交换(i不是下标) for (int i = 0; i < arr.length - 1; i++) {//需要做arr.length - 1交换 exchan ...
三次握手: 第一次握手:客户端发送syn包(seq=x)到服务器,并进入SYN_SENT状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=x+1),同时自己也发送一个SYN包(seq=y),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=y+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。 握手过程中传送的包里不包含数据,三次握手完毕后,客户端与服务器才正式开始传送数据。理想状态下,TCP连接一旦建立,在通信双方中的任何一方主动关闭连 ...
和我的上一篇博客一样,只是这次我采用的是AsyncTask /** * Created by zhang on 2016/11/27. */ public class ImageLoader { public void showImageByAsyncTask(ImageView imageView, String url) { new NewsAsyncTask(imageView, url).execute(url); } private class NewsAsyncTask extends AsyncTask&l ...
本文转自:http://www.cnblogs.com/yjiyjige/p/3263858.html   什么是KMP算法: KMP是三位大牛:D.E.Knuth、J.H.Morris和V.R.Pratt同时发现的。其中第一位就是《计算机程序设计艺术》的作者!! KMP算法要解决的问题就是在字符串(也叫主串)中的模式(pattern)定位问题。说简单点就是我们平时常说的关键字搜索。模式串就是关键字(接下来称它为P),如果它在一个主串(接下来称为T)中出现,就返回它的具体位置,否则返回-1(常用手段)。  
转自:http://blog.csdn.net/wincol/article/details/4795369     我想说一句“我日,我讨厌KMP!”。KMP虽然经典,但是理解起来极其复杂,好不容易理解好了,便起码来巨麻烦!老子就是今天图书馆在写了几个小时才勉强写了一个有bug的、效率不高的KMP,特别是计算next数组的部分。其实,比KMP算法速度快的算法大把大把,而且理解起来更简单,为何非要抓住KMP呢?笔试出现字符串模式匹配时直接上sunday算法,既简单又高效,何乐而不为?说实话,想到sunday算法的那个人,绝对是发散思维,绝对牛。当我在被KMP折磨的够呛的时候,我就琢磨, ...
研究了一整天的KMP算法,书都翻烂了,还是不甚理解,还是来看看下面这篇博客吧,清晰易懂 本文转自:http://www.ruanyifeng.com/blog/2013/05/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm.html   字符串匹配是计算机的基本任务之一。 举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它 ...
public class Link { public long dData; public Link next; public Link previous; public Link(long dData){ this.dData = dData; } public void displayLink(){ System.out.print(dData+" "); } }   public class DoublyLinkedList { private Link first; private Link last; ...
队列最大的特点就是:先进先出,把握这个特点后,我们很容易用双端链表实现一个队列     /** * 双端链表类 * @author zhang * */ public class FirstLastList { private Link first; private Link last; public FirstLastList(){ first=null; last=null; } public boolean isEmpty(){ return first==null; } public voi ...
栈最大的特点就是:先进后出、后进先出,把握这个特点后,我们可以用链表实现栈 /** * 链接点类 * * @author zhang * */ public class Link { public long dData; public Link next; public Link(long dData) { this.dData = dData; } public void displayLink() { System.out.print(dData + " "); } }   /** ...
                             软件设计---面向接口编程 java中面向接口编程应用十分广泛,在了解面向接口编程之前,必须先知道什么是里氏代换原则。 里氏代换原则(Liskov Substitution Principle, LSP):所有引用基类( ...

Anroid轮播广告图

MainActivity.java: package zkx.com.viewpager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget. ...
之前学校开了数据结构这门课,是C语言版的,没认真学,只好现在来补一补了 首先要说的是必须是有序的,不然是没办法用二分法查找的 1.有序数组优缺点 优点:查找速度(采用二分查找法)比无序数组快很多(查找的数据量 ...
1.何为线程死锁?  当出现多个线程相互等待均不执行时就是线程死锁 2死锁出现在哪? 开发中一定要避免线程死锁,死锁经常出现在synchronized代码嵌套操作中 3.如何避免死锁? 不这样做就行了 package Lock2; /** * 线程死锁 * @author zhang * * */ public class Demo01_DeadLock { public static final Object LOCK1=new Object(); public static final Object LOCK2=new Object(); p ...
Global site tag (gtag.js) - Google Analytics