自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (1)
  • 收藏
  • 关注

转载 【多线程_提高】 Java中断机制

1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制台敲入quit命令以结束某个后台服务时……都需要通过一个线程去取消另一个线程正在执行的任务。Java没有提供一种安全直接的方法来停止某个线程,但是Java提供了中断机制。 如果对Java中断没有一个全面的了解,可能会误以为被中断的线程将立马退出运行,但事实并非如此。中断机制是如何工作的?捕获或检测到中断后,是抛出Inte

2015-04-28 15:04:59 412

原创 【数据库复习_表管理】

1.数据页            数据页是存储的基本单位。            表数据都存储在数据页中。在Sql Server中页的大小为8KB。每个数据页中包含页标头、数据行以及行偏移量。           页标头:使用每页开头的前96个字节,用于存储有关页的系统信息。其余用于存储数据行和行偏移量。 2.区          区是管理空间的基本单位。

2015-04-27 21:21:47 442

原创 【多线程_并发工具】 栅栏_CyclicBarrier

栅栏:阻塞一组线程直到某个事件发生。 从概念理解起来,你可能会说:这不和闭锁一样吗? 栅栏和闭锁的最大区别就是: 所有线程必须同时到达栅栏位置,才能执行。 闭锁:用于等待时间。 栅栏:用于等待其他线程。 除此之外,闭锁是一次性对象,一旦进入终止状态,就不能重置。而栅栏可以使一定数量的参入方反复的在栅栏位置汇集。 栅栏的主要方法: await() awa

2015-04-27 16:54:54 1010

原创 【多线程_生产者消费者队列】

就以alibaba的笔试题举例吧。 题目大概的意思如下: 有一个篮子,最多容纳5个苹果。有人一直往里放苹果。有人一直去苹果。写出实现。 ali要求不能用concurrent包里面的东西,所以只能用最简单的notify和wait。 如果可以用concurrent包里面的东西,还可以用blockingqueue和signal、await。 下面实现三种方式: Method1.  n

2015-04-27 10:30:16 475

转载 【多线程_basic】 wait/notify/notifyAll

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17225469 在Java中,可以通过配合调用Object对象的wait()方法和notify()方法或notifyAll()方法来实现线程间的通信。在线程中调用wait()方法,将阻塞等待其他线程的通知(其他线程调用notify()方法或notifyAll()方法),在线程中

2015-04-27 10:26:58 362

原创 【leetcode】 Edit Distance

问题描述: Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.) You have the following 3 operations permitted on a

2015-04-27 08:59:35 385

原创 【多线程_并发工具】 闭锁-CountDownLacth

主要的例子,参考自博客:http://blog.csdn.net/lmj623565791/article/details/26626391。 先看一个问题: 每天起早贪黑的上班,父母每天也要上班,话说今天定了个饭店,一家人一起吃个饭,通知大家下班去饭店集合。假设:3个人在不同的地方上班,必须等到3个人到场才能吃饭,用 程序如何实现呢? 不正确的实现1. package

2015-04-25 21:29:25 1227

原创 【leetcode】 Best Time to Buy and Sell Stock III

问题描述: Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete at most two transactions. Note: Yo

2015-04-25 16:45:56 381

原创 【leetcode】 Best Time to Buy and Sell Stock

问题描述: Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the st

2015-04-25 16:42:40 338

原创 【leetcode】 Best Time to Buy and Sell Stock II

问题描述: Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, b

2015-04-25 16:33:20 326

原创 【多线程_提高】 在现有的线程安全的类中添加功能

本节内容摘自《Java 并发编程实践》。 问题:向一个线程安全的类中添加一个线程安全的方法。 Solution1. 修改原始的类,在原始类中进行新的方法编写并且加上锁。 当我们无法修改原始的类,我们应该怎么办呢? Solution2. 扩展这个类。如果在设计的时候这个类考虑了可扩展性。比如BetterVector 扩展 Vector; //正确的实现 @ThreadSafe public

2015-04-22 21:46:43 956

转载 http的无状态无连接到底是什么含义

无连接:服务器处理完客户的请求,并收到客户的应答后,即断开连接。 早期这么做的原因是 HTTP协议产生于互联网,因此服务器需要处理同时面向全世界数十万、上百万客户端的网页访问,但每个客户端(即浏览器)与服务器之间交换数据的间歇性较大(即传输具有突发性、瞬时性),并且网页浏览的联想性、发散性导致两次传送的数据关联性很低,如果按照上面的方式则需要在服务器端开的进程和句柄数目都是不可接受的,象par

2015-04-20 18:47:06 387

转载 HTTP1.0 VS HTTP1.1

网上无意中看到的,记录下。 一个页面除了有Html还有一些图片的链接 在1.0协议里,首先建立连接,获取html,断开连接。然后再依次处理图片的连接。 1.1只建立一次链接,对于图片的链接,就依次请求服务器发送。并且默认是持续连接,keep-alive,就是客户端对主机链接,比如在浏览器输入一个网址,并接收数据之后,打开网页之后,主机并不会立即断开连接,如果再次访问,就再次传输,而不需要

2015-04-20 16:18:30 378

转载 JVM的重排序问题

重排序通常是编译器或运行时环境为了优化程序性能而采取的对指令进行重新排序执行的一种手段。重排序分为两类:编译期重排序和运行期重排序,分别对应编译时和运行时环境。 特别是多个线程同时修改同一变量时,必须采取可靠的同步或其它措施保障数据被正确地修改,这里的一条重要原则是:不要假设指令执行的顺序,你无法预知不同线程之间的指令会以何种顺序执行。 但是在单线程程序中,通常我们容易假设指令是顺序执行的,否

2015-04-20 16:01:48 617

原创 Atom类源码分析

今天再看《Java并发编程实践》的时候提到了这样一句话:volatile关键字只能保证变量的可见性,无法保证变量的原子性。 当时没懂,搜了几个事例分析了一下,顺便也分析一下可以保证原子性的atom类的源码(这里以AtomInteger为例) 先看一下volatile无法保证原子性的事例: class IntegerTestThread implements Runnable{ p

2015-04-19 23:07:53 2157

原创 最长递增子序列

这道题是编程之美的2.16. 这里 编程之美在用DP讲的时候思路还是比较清晰的。时间复杂度为 N^2,看下代码; public int list(int[] A){ int sum = 0; int[] LIS = new int[A.length]; for(int i=0;i<A.length;i++){ LIS[i]=1; for(int j

2015-04-19 19:55:11 374

原创 动态代理

最近在看AOP源码,先熟悉下JDK动态代理、Cglib、ASM相关的一些东西。 一.静态代理的缺点:      想想如果我们要用静态代理的方式去实现B中内的method(),我们应该如何做?      肯定是先将方法抽象到一个接口,代理类和B都去实现此接口,然后在代理类中有B的对象,在掉代理类的method时候,内部方法实际掉的B的method~~~~      那么问题来了,如果

2015-04-15 09:28:45 452

dwr单点推送

dwr实现精确推送源码

2014-12-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除