- 博客(10)
- 收藏
- 关注
转载 lucene介绍
lLucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开发源代码的全文检索引擎工具包。它是一个很强大的搜索库,能轻易的将搜索功能加入到任何程序中。能对文档搜索,文档内信息搜索或相关文档进行搜索等操作,源码由java实现,是一个成熟,卡原的检索工具。 lucene的整体架构如下: 从图中,我们可以看出,主要分为两个大步...
2016-04-24 13:19:00 78
转载 开发人员如何对sql优化
说到sql优化,很多人都会觉得这个是DBA做的事,和他无关。也觉得数据库里面的各种命令,参数复杂难懂,不愿意去了解。其实不然,sql语句其实和我们写程序一样,如何高效,如何少用内存,如何速度最快,都是有理可循,并不一定要拿着一本几十厘米的书啃来啃去。 开发人员对于sql优化,从两个方面来考虑,一是数据表结构与sql语句的写法。二是程序的控制。 (一)sql本身的优...
2015-12-02 21:53:00 117
转载 java线程小知识
1,锁 synchronized,wait,notify,nofifyAll其实都是对锁的操作。synchronized一个对象,一个代码区,一个方法,其实都是获取该对象的锁,一个对象只有为一个的一个锁,代码区,和方法锁,其实获取的是该对象的锁。如 public synchronized void test() { } 执行该方法之前申请该对象的锁。...
2015-11-17 21:45:00 86
转载 深入java内存模型(二) volatile详解
对于volatile修饰符,我们应该不会陌生,在多线程中使用常见,比如多个线程想用一个全局变量作为标识符,或者一个共享变量,我们都会给该变量加上一个volatile的修饰符。volatile用中文解释是易变的,不稳定的。说明该变量会被多个线程访问并可能修改。那么jvm是怎样发挥volatile关键字的作用,如何实现的呢? 上一篇深入java内存模型中解释了jvm中的重排序以及四...
2015-11-10 20:22:00 99
转载 深入java内存模型(一)
最近本来想深入学习一下java线程,很想知道其中实现的原理,比如线程资源的共享,线程私有空间,以及线程直接的同步控制等。如果能了解它的实现,对于深入学习线程,会有很大的帮助。最近正在看一份《深入java内存模型》的资料。讲的就是java线程方面的实现原理,拿出来分享一下。 说到线程,我们首先想到的是线程的通信。学习操作系统时,线程通信有两种,一种是通过共享内存,另一种是通过消息...
2015-11-09 21:49:00 79
转载 JVM内存分配与回收分析
java虚拟机的自动化内存可以归结为自动化解决了两个问题,一个是内存分配,一个是内存回收。了解虚拟机的分配与回收机制,能让我们对项目的把控更加有力,尤其是对性能调优时,各个参数的设置可能会有意想不到的效果。本文结合事例分析各种场景的回收。 堆内存区域(不包括永久代)种类:1,eden space(属于新生代-new generation) 2,surv...
2015-09-15 16:58:00 104
转载 java 定时器分析
前段时间做一个springMVC项目,有一个功能是要定时拉取数据。做法就是启动一个定时器,定时这行。java有自带的定时器,不过在springMVC中不好集成,而且由于使用springMVC,很多都是注解,写起来效率较高。当然quart定时器很好用,而且功能强大。自己想偷懒,找到spring 自带了一个轻量级的定时器spring schedule,使用注解一行代码就能实现。代码是这...
2015-09-15 10:01:00 114
转载 Java内存溢出及分析
对于内存溢出,首先想到的是C语言,其实不然,java中也有各种的内存溢出。对于java程序员,在虚拟即中,不需要为每一个新建对象去delete/free内存,不容易出现内存溢出。但是,正是由于这种机制,java中如果出现了内存溢出将是一个很麻烦的事情,所以,对java虚拟机的内存使用的掌握能很好的帮助你排除问题。 java内存有几种:程序计数器,虚拟机栈,方法常量区,堆,本...
2015-09-14 17:33:00 75
转载 JVM内存区域类别
以一个图整体概括java虚拟机运行时数据区(引自JVM高级特效与最佳实践)从图中我们可以看出,分为方法区,虚拟机栈,本地方法栈,堆,程序计数器。程序计数器: 程序计数器主要作用是用于记录程序的执行位置,即该线程执行到那个指令。对于多线程,经常会有上下文切换,那么每个线程必须有它独有的程序计数器,也就是说程序计数器是线程私有的模块。有一种情况,当执行本地方法时。程...
2015-09-08 11:32:00 102
转载 ConcurrentHashMap初探
在项目中集合的使用非常频繁,最原始的就是数组Array,集合List提供了增加和删除的便利以及扩展,同时为了更快的搜寻效率,我们选择Map映射表。Map中我们用的最多的是hashMap,它提供了较好的查询速度,时间复杂度在O(1)。这些都是常规使用的集合。但是时常会有并发的要求,对于Map类,有一个HashTable可选,这个即实现了键值对的映射功能,同时也支持并发操作。HashTa...
2015-09-06 15:48:00 81
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人