- 浏览: 36674 次
- 性别:
最新评论
-
knight_black_bob:
真好学,支持支持……
大二寒假学习计划 -
WH_LPWH:
菜鸟参观学习一下,哈哈哈,很期待你更新呢!
单机版五子棋游戏项目的实现 -
qq_24665727:
66666
Ecplice 导包过程中出现的问题
文章列表
一个多月前在做影音播放器时遇到一个问题,就是在视频列表中显示每个视频第一帧,第一帧是显示出来了,可是滑动的时候出问题了,严重卡顿啊!!!一开始想的是要对图片进行压缩,压缩之后还是卡,然后想到了要开子线程(因为在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 ...
TCP三次握手和四次挥手的全过程
- 博客分类:
- 计算机网络
三次握手: 第一次握手:客户端发送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算法
- 博客分类:
- 数据结构与算法
研究了一整天的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)是最常用的之一。它 ...
java实现双向链表
- 博客分类:
- 数据结构
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轮播广告图
- 博客分类:
- Android
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 ...