自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (2)
  • 收藏
  • 关注

转载 mybatis:Parameter 'list' not found. Available parameters are [templateId, param1, param2, valueList]

本文转载至http://www.cnblogs.com/baby-lijun/p/5908088.html我的EsdTemplateSealMapper.java里面定义的接口是这样的public List getFilteOutSeal(@Param("filterList")List list,@Param("templateId")String templateId);然后我的E

2017-10-26 15:37:27 1760

转载 文章标题

默认情况下,一个 DIV或者其他元素的文本,如果都是无文字分隔符,无空格,则不会自动换行,比如: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

2017-10-18 10:37:00 284

原创 httpclient 的 doPost请求中文乱码问题

httpclient 的 doPost请求中文乱码问题 解决方案:@RequestMapping(value="receiveTopic",method = RequestMethod.POST, produces =MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")String url ="http://localhost/*****/receiveTop

2017-07-27 09:12:37 1398 1

原创 easyui复选框默认选中

onLoadSuccess:function(row){//当表格成功加载时执行 var rowData = row.rows; $.each(rowData,function(idx,val){//遍历JSON if(val.isQues==1){ $("#dg").datagrid("selectRow", idx);

2017-06-02 15:52:21 5326 1

原创 资料链接

设计模式:http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html

2017-04-21 14:42:30 284

原创 Integer 中的缓存类IntegerCache

题目:public class test { public static void main(String[] args) { Integer c = 127, d = 127; Integer a = 128 , b = 128; Integer int1 = Integer.valueOf("100"); Integer int2 = Integer.value

2017-04-21 11:39:32 424

转载 1-9九个数字不重复组成一个三位数加法算式,求出所有组合

import java.util.ArrayList;import java.util.List;public class TestNumber { public static void main(String[] args) { int count = 0;// 可能的个数 Integer[] a = {1, 2, 3, 4, 5, 6, 7, 8, 9}; for (int

2017-04-10 21:14:18 10595

原创 30.Fork/Join框架

一、Fork/Join框架:就是在必要的情况下,将一个大任务,进行拆分(fork)成若干个小任务(拆到不可再拆时),再将一个个的小任务运算的结果进行join汇总。二、Fork/Join框架与线程池的区别①采用“工作窃取”模式(work-stealing):当执行新的任务时可以将其拆分分成更小的任务执行,并将小任务加到线程队列中,然后再从一个随机线程的队列中偷一个并把它放在自己的

2017-04-08 08:59:16 330

原创 29.线程调度

ScheduledExecutorService:一个ExecutorService,可安排在给定的延迟后运行或定期执行的命令。import java.util.Random;import java.util.concurrent.Callable;import java.util.concurrent.Executors;import java.util.concurrent.Futu

2017-04-08 08:40:24 255

原创 28.线程池

①第四种获取线程的方法:线程池,一个ExecutorService,它使用可能的几个池线程之一执行每个提交的任务,通常使用Executors工厂方法配置。②线程池可以解决两个不同的问题:由于减少了每个任务调用的开销,它们通常可以在执行大量的异步任务时提供增强的性能,并且还能提供绑定和管理资源(包括执行任务集中时使用的线程)的方法。每个ThreadPoolExector还维护着一些基本的统计数据

2017-04-08 08:29:13 277

原创 27.线程八锁 -- 线程常使用的八种情况

上案例:public class Thread8Monitor { public static void main(String[] args) { final Number number = new Number(); final Number number2 = new Number(); new Thread(new Runnable() { public void

2017-04-06 21:35:06 3742 5

原创 26.读-写锁 ReadWriteLock

①ReadWriteLock维护了一对相关的锁,一个用于只读操作,另一个用于写入操作。只要没有writer,读取锁可以多个reader线程同时保持,写入锁是独占的。②ReadWriterLock读取操作通常不会改变共享资源的,但执行写入操作时,必须独占方式来获取锁。对于读取操作占多数的数据结构。ReadWriteLock能提供比独占锁更高的并发性。而对于只读的数据结构,其中包含的不变性可以完全

2017-04-06 12:35:36 315

原创 25.线程面试题四 --- 14K起步题

编写一个程序,开启 3 个线程,这三个线程的 ID 分别为 A、B、C,每个线程将自己的 ID 在屏幕上打印 10 遍,要求输出的结果必须按顺序显示。  如:ABCABCABC…… 依次递归代码:import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java

2017-04-06 09:03:29 354

原创 24.Condition

①Condition接口描述了可能会与锁有关联的条件变量。这些变量在用法上与使用Object.wait访问的隐式监视器类似,但提供了更强大的功能。需要特别指出的是,单个Lock可能与多个Condition对象关联。为了避免兼容性问题,Condition方法的名称与对应的Object版本中的不同②在Condition对象中,与wait()、notify()、notifyAll()方法对应的分别是

2017-04-05 22:21:00 234

原创 23.生产者消费者案例-虚假唤醒

普通的生产者消费者案例生产者线程:添加和创建数据的线程消费者线程:删除和销毁数据的线程public class TestProductAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Productor productor = new Productor(cl

2017-04-05 22:05:30 356

原创 22.显示锁Lock

①在Java5.0之前,协调共享对象的访问时可以使用的机制只有synchronized和volatile。Java5.0后增加了一些新的机制,但是并不一种替代内置锁的方法,而是当内置锁不适用时,作为一种可选择的高级功能。②ReentrantLock实现了Lock接口,并提供了与synchronized相同的互斥性和内存可见性。但相较于synchronized提供了更高的处理锁的灵活性。im

2017-04-05 20:36:56 346

原创 21.线程的实现方式三 ---实现Callable接口

①Java5.0在Java.util.concurrent提供了一个新的创建执行线程的方式:Callable接口②Callable接口类似Runnable,两者都是为那些其实例可能被另一个线程执行的类设计的。但是Runnable不会返回结果,并且无法抛出经过检查的异常。③Callable需要依赖FutureTask,FutureTask也可以用作闭锁案例:import java.u

2017-04-04 16:39:39 283

原创 20.CountDownLatch闭锁

①Java5.0在java.util.concurrent包中提供了多种并发容器类来改进同步容器的性能。②CountDownLatch一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。③闭锁可以延迟线程的进度直到其到达终止状态,闭锁可以用来确保某些活动直到其他活动都完成才继续执行:---> 确保某个计算在其需要的所有资源都被初始化之后才继续执行;

2017-04-04 16:13:12 239

原创 19.ConcurrentHashMap

首先hashMap和hashTable的简单比较①Java5.0在Java.util.concurrent包中提供了多种并发容器类来改进同步容器的性能。②ConcurrentHashMap同步容器时Java5增加的一个线程安全的哈希表。对与多线程的操作,介于HashMap和HashTable之间。内部采用“锁分段”机制替代Hashtable的独占锁,进而提高性能③此包还

2017-04-04 15:39:43 297

原创 18.模拟 CAS 算法

public class TestCompareAndSwap { public static void main(String[] args) { final CompareAndSwap cas = new CompareAndSwap(); for(int i = 0;i<10;i++){ new Thread(new Runnable() { public void

2017-04-04 11:20:04 422

原创 17.原子变量 CAS算法

案例引入:public class TestAtomicDemo { public static void main(String[] args) { AutomicDemo ad = new AutomicDemo(); for(int i = 0; i<10;i++){ new Thread(ad).start(); } }}class AutomicDemo i

2017-04-04 10:59:57 346

原创 16.volatile关键字 内存可见性

一、内存可见性①内存可见性(Memory Visibility)是指当某个线程正在使用对象状态而另一个线程在同时修改该状态,需要确保当一个线程修改了对象状态后,其他线程能够看到发生的状态变化。②可见性错误是指当读操作与写操作在不同的线程中执行时,我们无法确保执行读操作的线程能适时地看到其他线程写入的值,有时甚至是根本不可能的事情。③我们可以通过同步来保证对象被安全地发布。除此之外我们也

2017-04-04 09:57:48 682

原创 15.线程面试题三

现有程序同时启动了4个线程去调用TestDo.doSome(key, value)方法,由于TestDo.doSome(key, value)方法内的代码是先暂停1秒,然后再输出以秒为单位的当前时间值,所以,会打印出4个相同的时间值,如下所示:4:4:12581996151:1:12581996153:3:12581996151:2:1258199615        请修改代

2017-04-03 21:34:05 258

原创 14.线程面试题二

现成程序中的Test类中的代码在不断地产生数据,然后交给TestDo.doSome()方法去处理,就好像生产者在不断地产生数据,消费者在不断消费数据。请将程序改造成有10个线程来消费生成者产生的数据,这些消费者都调用TestDo.doSome()方法去进行处理,故每个消费者都需要一秒才能处理完,程序应保证这些消费者线程依次有序地消费数据,只有上一个消费者消费完后,下一个消费者才能消费数据,下一个消

2017-04-03 20:55:01 238

原创 13.线程面试题一

一、 第一题:现有的程序代码模拟产生了16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog()方法来分头打印这16个日志对象,程序只需要运行4秒即可打印完这些日志对象。原始代码如下public class aa { public static void main(String[] args) { System.out.println("beg

2017-04-03 20:18:06 181

原创 12.同步集合

一、传统集合类在并发访问时的问题说明.......由于并发控制不好,导致数据的不一致,引起的死循环。值得一提的是,HashMap不是一个线程安全的数据结构,要用到多个线程中去,需要自己加上同步标志,为什么会死循环呢,看看下面HashMap中get函数的源代码:public V get(Object key) { if (key == null) return getForN

2017-04-03 19:53:09 232

原创 11.可阻塞的队列

①队列包含固定长度的队列和不固定长度的队列②什么是可阻塞队列,阻塞队列的作用与实际应用,阻塞队列的实现原理。阻塞队列是一个在队列基础上又支持了两个附加操作的队列。2个附加操作:支持阻塞的插入方法:队列满时,队列会阻塞插入元素的线程,直到队列不满。支持阻塞的移除方法:队列空时,获取元素的线程会等待队列变为非空。class BoundedBuffer { fi

2017-04-03 17:01:01 296

原创 10.其他同步工具类

一、CyclicBarrierCyclic:循环的,有周期性的Barrier:障碍物,屏障 Latch:门闩,闩锁讲解CyclicBarrier的功能时,通过辅助画图的方式说明,效果会更好。\              /  \     |    /------------------------三个线程干完各自的任务,在不同的时刻到达集合点后,就可以接着忙各自的工

2017-04-03 16:13:11 196

原创 9.Semaphore实现信号灯

一、Semaphore可以维护当前访问自身的线程个数,并提供了同步机制。使用Semaphore可以控制同时访问资源的线程个数,例如,实现一个文件允许的并发访问数。Semaphore实现的功能就类似厕所有5个坑,假如有十个人要上厕所,那么同时能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中在等待的另外5个人中又有一个可以占用了。另外等待的5个人中可以是随机获得

2017-04-03 15:24:54 255

原创 8.Lock&Condition实现线程同步通信

一、Lock比传统线程模型中的synchronized方式更加面向对象,与生活中的锁类似,锁本身也应该是一个对象。两个线程执行的代码片段要实现同步互斥的效果,它们必须用同一个Lock对象。import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Lo

2017-04-03 15:06:44 196

原创 7.Callable&Future

1.Future取得的结果类型和Callable返回的结果类型必须一致,这是通过泛型来实现的。2.Callable要采用ExecutorSevice的submit方法提交,返回的future对象可以取消任务。3.CompletionService用于提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象。好比我同时种了几块地的麦子,然后就

2017-04-03 07:50:47 184

原创 6.线程池

关于线程池的讲解:首先介绍在Tcp服务器编程模型的原理,每一个客户端连接用一个单独的线程为之服务,当与客户端的会话结束时,线程也就结束了,即每来一个客户端连接,服务器端就要创建一个新线程。这好比假设每个报名学员都要通过我来亲自接待,以便给每个学员一种好的感觉,但每个学员报名手续要花费半个小时,对于50名同学,我一个个接待和为之办理手续,显然不实际,我会怎么做呢?我会先接待每一个学员,打完招呼后

2017-04-03 07:15:00 213

原创 5.多个线程访问共享对象和数据的方式

一、如果每个线程执行的代码相同,可以使用同一个Runnable对象,这个Runnable对象中有那个共享数据,例如,买票系统就可以这么做public class TicketThread { public static void main(String[] args) { TicketWindow tw = new TicketWindow(); new Thread(tw,"一号窗

2017-04-02 09:58:04 411

转载 css中设置table中的td内容自动换行

转自:http://blog.csdn.net/XIAOZHUXMEN/article/details/51068305在项目中,有用到表格。因为有的内容比较长,所以需要列宽大一些,有的内容比较短,列宽就小一些。遇到了一个问题,在学校联系方式表里面,联系人电话/电子邮件这两列,无论我加多大的宽度,内容总是会把表格列撑的很宽,百度了一下,发现原因是这样的:一般字母的话会被浏览器默认是一个字符

2017-03-27 11:24:40 759

转载 PyCharm 2016.2.1 注册码[亲测可用]

转自:http://www.ttlsa.com/python/pycharm-2016-2-1-reg-code/PyCharm版本更新很快,发一个PyCharm 2016.2.1可用的注册,请直接复制:CNEKJPQZEX-eyJsaWNlbnNlSWQiOiJDTkVLSlBRWkVYIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1

2017-03-26 19:41:55 896

原创 4.ThreadLocal实现线程范围的共享变量

当没有ThreadLocal的时候,我们是这样实现线程范围内的变量共享的import java.util.HashMap;import java.util.Map;import java.util.Random;/** * map为每一个线程都放入了独立的数据,线程范围内的数据共享 */public class ThreadScopeShareData { private st

2017-03-25 10:38:57 289 1

转载 Java初始化顺序

转自:http://www.cnblogs.com/miniwiki/archive/2011/03/25/1995615.html1.无继承情况下的Java初始化顺序:public class init { public static void main(String[] args) { new Test(); }}class Sample { Sample(String

2017-03-25 08:15:04 201

转载 子类与父类的初始化

class Child1 extends Parent { int x = 9; void add(int y) { System.out.println("x:"+x); x += y; } public static void main(String[] args) { Parent p = new Child1(); System.out.println(p.x);

2017-03-24 16:40:15 863

转载 类的加载机制

1、预先加载:JRE运行的开始会将Java运行所需要的基本类采用预先加载的方法全部加载到内存,如JRE的rt.jar里面所有的.class文件2、类的生命周期:类从被加载到虚拟机内存开始,到卸载出内存为止,整个生命周期包括七个阶段加载——>验证——>准备——>解析——>初始化——>使用——>卸载(其中类加载包括前面五个过程,即加载、验证、准备、解析、初始化。而验证、准备、解析属于连接阶

2017-03-24 16:18:00 199

原创 3.线程的同步互斥与通信

一、使用synchronized代码块及其原理二、使用synchronized方法三、分析静态方法所使用的同步监视器对象是什么?/** * 多线程应用:两个线程对同一个对象(数据)进行操作,就会出现线程安全的问题 * 线程问题:银行转账 * * 总结:互斥的关键字是 synchronized,必须用同一把锁挡住线程,否则线程不同步。 */public class T

2017-03-22 10:33:10 263 1

TCP/IP协议详解(全部高清三卷)

《TCP/IP详解,卷1:协议》是一本完整而详细的TCP/IP协议指南。描述了属于每一层的各个协议以及它们如何在不同操作系统中运行。作者用Lawrence Berkeley实验室的tcpdump程序来捕获不同操作系统和TCP/IP实现之间传输的不同分组。对tcpdump输出的研究可以帮助理解不同协议如何工作。本书适合作为计算机专业学生学习网络的教材和教师参考书。也适用于研究网络的技术人员。 《TCP/IP详解 卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15 000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。本书不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点,如多播、长肥管道支持、窗口缩放、时间戳选项以及其他主题等等。读者阅读本书时,应当具备卷1中阐述的关于TCP/IP的基本知识。本书适用于希望理解TCP/TP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 《TCP-IP详解卷三TCP事务协议,HTTP,NNTP和UNIX域协议》是“TCP/IP详解系列”的延续。主要内容包括:TCP事务协议,即T/TCP,这是对TCP的扩展,使客户-服务器事务更快、更高效和更可靠;TCP/IP应用,主要是HTTP和NNTP;UNIX域协议,这些协议提供了进程之间通信的一种手段。当客户与服务器进程在同一台主机上时,UNIX域协议通常要比TCP/IP快一倍。本书同样采用了大量的实例和实现细节,并参考引用了卷2中的大量源程序。 本书适用于希望理解TCP/IP如何工作的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。

2017-10-11

空空如也

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

TA关注的人

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