java
文章平均质量分 72
乐动心情
这个作者很懒,什么都没留下…
展开
-
Lambda表达式基础知识
一、Lambda用法之前写Optional这个类的时候,简单说了一下Lambda是怎么用的,这里再跟大家一起回顾一下,Lambda的语法是这样的:语法以Lambda语法创建线程和匿名内部类创建线程的区别(显然代码少了很多!):public static void main(String[] args) { // 用匿名内部类的方式来创建线程 new Thread(new Runnable() { @Override public void转载 2021-11-21 11:59:42 · 267 阅读 · 0 评论 -
Lambda表达式基础知识
一、Lambda用法之前写Optional这个类的时候,简单说了一下Lambda是怎么用的,这里再跟大家一起回顾一下,Lambda的语法是这样的:语法以Lambda语法创建线程和匿名内部类创建线程的区别(显然代码少了很多!):publicstaticvoidmain(String[]args){//用匿名内部类的方式来创建线程newThread(newRunnable(){@Overridepublicvoid...转载 2021-11-19 00:50:26 · 149 阅读 · 0 评论 -
Apache Commons-logging使用实例
1.Commons-Loggin简介Jakarta Commons Logging (JCL)提供的是一个日志(Log)接口(interface),同时兼顾轻量级和不依赖于具体的日志实现工具。它提供给中间件/日志工具开发者一个简单的日志操作抽象,允许程序开发人员使用不同的具体日志实现工具。用户被假定已熟悉某种日志实现工具的更高级别的细节。JCL提供的接口,对其它一些日志工具,包括Log4J,转载 2014-09-16 22:32:05 · 560 阅读 · 0 评论 -
Dijkstra算法实现
迪杰斯特拉算法介绍迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。基本思想通过Dijkstra计算图G中的最短路径时,需要指定起点s(即从顶点s开始计算)。 此外,引进两个集合S和U。S的作用是记录已求出最短路径的顶点(以及相应的转载 2015-03-21 12:41:12 · 749 阅读 · 0 评论 -
Java并发编程:如何创建线程
今天就来讲一下在Java中如何创建线程,让线程去执行一个子任务。下面先讲述一下Java中的应用程序和进程相关的概念知识,然后再阐述如何创建线程以及如何创建进程。下面是本文的目录大纲: 一.Java中关于应用程序和进程相关的概念 二.Java中如何创建线程 三.Java中如何创建进程 若有不正之处,请多多谅解并欢迎批评指正。 请尊重作者劳动成果,转载转载 2015-09-18 23:15:35 · 458 阅读 · 0 评论 -
Java并发编程:线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。 那么有没有一种办法使得线程可以复用,就是执行完一个任务,并不被销毁,而是可以继续执行其他的任务? 在Java中可以通过线程池转载 2015-09-18 23:19:16 · 634 阅读 · 0 评论 -
Java并发编程:Callable、Future和FutureTask
在前面的文章中我们讲述了创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从Java 1.5开始,就提供了Callable和Future,通过它们可以在任务执行完毕转载 2015-09-18 23:17:14 · 413 阅读 · 0 评论 -
log4j.xml配置详解
Xml代码 value="[%d{dd HH:mm:ss,SSS\} %-5p] [%t] %c{2\} - %m%n" />转载 2015-12-13 20:58:52 · 7135 阅读 · 1 评论 -
日志那点事儿——slf4j源码剖析
阅读目录 slf4j下载 那么如何使用呢? 接下来进入正题,slf4j源码的解读! 这里不了解类加载器的原理的可能会不大明白! 总结Slf4j工作原理前言: 说到日志,大多人都没空去研究,顶多知道用logger.info或者warn打打消息。那么commons-logging,slf4j,logback,log4j,logging又是什么转载 2015-12-20 22:23:25 · 1401 阅读 · 0 评论 -
java内存分析工具
1. jstathttp://blog.csdn.net/fenglibing/article/details/6411951https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jstat.html2. 分析栈内存(stack)jstack/kill -3http://jameswxx.iteye.com转载 2017-01-23 20:30:11 · 524 阅读 · 1 评论 -
memcache client for java
http://code.google.com/p/memcache-client-forjava/ http://marc.iteye.com/blog/28700http://www.jayxu.com/2010/06/09/2342/http://www.iteye.com/topic/128458http://code.google.com/p/xmemcached/wiki原创 2014-08-28 23:29:33 · 1341 阅读 · 0 评论 -
Apache Commons-pool实现对象池(包括带key对象池)
Commons-pool是一个apache开源组织下的众多项目的一个。其被广泛地整合到众多需要对象池功能的项目中。官网:http://commons.apache.org/proper/commons-pool/本文是commons-pool的一个简单应用,包括不带key的池和带key的池。带key的池是把key相同的池对象放在一起池里,也就是说有多少个key就有多少个池。转载 2014-08-12 23:26:48 · 1994 阅读 · 0 评论 -
深入分析Volatile的实现原理
引言在多线程并发编程中synchronized和Volatile都扮演着重要的角色,Volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。它在某些情况下比synchronized的开销更小,本文将深入分析在硬件层面上Inter处理器是如何实现Volatile的,通转载 2014-06-25 21:15:19 · 540 阅读 · 0 评论 -
JVM并发机制的探讨——内存模型、内存可见性和指令重排序
并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”。从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CPU对共享资源的访问,因此需要了解并发,穷矮搓搞优化需要编写各种多线程的代码来压榨CPU的计算资源,让它在同一时刻做更多的事情,这个更需要了解并发。在我前一篇关于并发的文章http://my.os转载 2014-06-25 17:47:03 · 508 阅读 · 0 评论 -
JAVA细粒度、互斥KEY锁 —— KeyLock
原文:http://blog.csdn.net/icebamboo_moyun/article/details/9391915#commentsjava中的几种锁:synchronized,ReentrantLock,ReentrantReadWriteLock已基本可以满足编程需求,但其粒度都太大,同一时刻只有一个线程能进入同步块,这对于某些高并发的场景并不适用。本文转载 2013-12-15 18:40:10 · 1855 阅读 · 0 评论 -
JVM内存模型以及垃圾收集策略解析【续】
http://xmuzyq.iteye.com/blog/600369转载 2014-05-09 23:43:02 · 590 阅读 · 0 评论 -
写Java也得了解CPU缓存
CPU,一般认为写C/C++的才需要了解,写高级语言的(Java/C#/pathon…)并不需要了解那么底层的东西。我一开始也是这么想的,但直到碰到LMAX的Disruptor,以及马丁的博文,才发现写Java的,更加不能忽视CPU。经过一段时间的阅读,希望总结一下自己的阅读后的感悟。本文主要谈谈CPU缓存对Java编程的影响,不涉及具体CPU缓存的机制和实现。现代CPU的缓存结构一般分三转载 2014-06-25 21:05:36 · 509 阅读 · 0 评论 -
JVM调优
http://www.cnblogs.com/zhguang/p/Java-JVM-GC.html转载 2014-05-14 11:00:40 · 502 阅读 · 0 评论 -
jstack Dump 日志文件中的线程状态
http://www.cnblogs.com/zhengyun_ustc/archive/2013/01/06/dumpanalysis.html转载 2014-05-13 15:01:38 · 3276 阅读 · 0 评论 -
jetty
http://www.javaarch.net/swf/hongfeng/jetty.pdf转载 2014-04-26 10:42:05 · 546 阅读 · 1 评论 -
Java程序员应该知道的10个面向对象理论
面向对象理论是面向对象编程的核心,但是我发现大部分Java程序员热衷于像单例模式、装饰者模式或观察者模式这样的设计模式,而并没有十分注意学习面向对象的分析和设计。学习面向编程的基础(如抽象,封装,多态,继承等)是非常重要的,而运用它们来设计干净的模块也同样重要。我也认识很多不同等级的程序员,他们没有听过这些面向对象理论,或者不知道某个设计理论有什么好处,或者如何在编码中使用这些设计理论。我转载 2014-06-25 21:30:05 · 485 阅读 · 0 评论