JAVA
文章平均质量分 67
sofuzi
这个作者很懒,什么都没留下…
展开
-
深入解析ConcurrentHashMap的实现原理
术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值。 哈希表 hash table 根据设定的哈希函数H(key)和处理冲突方法将一组关键字映象到一个有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这种表称为哈希表或散列,所得存储位置称为...转载 2017-11-13 18:43:14 · 382 阅读 · 0 评论 -
Java中数组(Array)和列表(ArrayList)的区别
转载自:http://blog.csdn.net/chenglansky/article/details/445678871)精辟阐述:可以将 ArrayList想象成一种“会自动扩增容量的Array”。2)Array([]):最高效;但是其容量固定且无法动态改变; ArrayList: 容量可动态增长;但牺牲效率;3)建议:基于效率和类型检验,应尽可能使用Array,无法确定数组大小时...转载 2018-04-11 22:05:34 · 31623 阅读 · 1 评论 -
Java中链表的头节点
一个链表头节点为headhead 1 2 3 4 5 6head叫做链表的头节点1所在的节点叫做链表的首节点(不知叫法是否准确)从定义上严格来说头节点head本身并没有值,它只是一个指向首节点1的指针。也就是说head.val为空,head.next.val=1。即head的下一个节点才是1的节点。那上述的链表就有7个节点(包含头节点head)。 但...原创 2018-04-12 22:43:14 · 17358 阅读 · 2 评论 -
Lucene中常用的几个分词器
来自网页:http://blog.csdn.net/ceclar123/article/details/10150839一、WhitespaceAnalyzer以空格作为切词标准,不对语汇单元进行其他规范化处理。很明显这个实用英文,单词之间用空格。[java] view plain copypackage bond.lucene.analyzer; import org.apache.luc...转载 2018-05-09 11:39:25 · 2930 阅读 · 0 评论 -
Java中ArrayList和LinkedList区别
转载于:https://www.cnblogs.com/huzi007/p/5550440.htmlArrayList和LinkedList的大致区别如下:1.ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。 2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。 3.对于新增和删除操作add和...转载 2018-06-04 20:43:41 · 114 阅读 · 0 评论 -
java十进制转化为二进制
十进制转化为二进制的方法Integer.toBinaryString(int i)注意:转化的二进制以字符串的形式返回查看一个数的二进制上某一位是0还是1的方法:1、屏蔽法num & (1<<index)) >> index(判断数字num的二进制上第index为是1还是0)2、利用String的charAt方法来查看某一位的ASCII值Integer.toBina...原创 2018-06-13 23:24:05 · 13602 阅读 · 0 评论 -
JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解
jps查看所有的jvm进程,包括进程ID,进程启动的路径等等。我自己也用PS,即:ps -ef | grep javajstack观察jvm中当前所有线程的运行情况和线程当前状态。系统崩溃了?如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发...转载 2018-08-07 11:06:39 · 258 阅读 · 0 评论 -
Java -- 深入浅出GC自动回收机制
1、GC简单的了解 GC :Garbage Collections 字面意思是垃圾回收器,释放垃圾占用的空间。让创建的对象不需要像c、c++那样delete、free掉 。对于c、c++的开发人员来说内存是开发人员分配的,也就是说还要对内存进行维护和释放。对于Java程序员来说,一个对象的内存分配是在虚拟机的自动内存分配机制的帮助下,不再需要为每一个new操作去写配对的delete/free...转载 2018-08-07 17:17:50 · 412 阅读 · 0 评论 -
并行和并发的区别与联系
转载于:https://blog.csdn.net/VIP_WangSai/article/details/72420632你吃饭吃到一半,电话来了,你一直到吃完了以后才去接,这就说明你不支持并发也不支持并行。你吃饭吃到一半,电话来了,你停了下来接了电话,接完后继续吃饭,这说明你支持并发。你吃饭吃到一半,电话来了,你一边打电话一边吃饭,这说明你支持并行。并发的关键是你有处理多个任务的...转载 2018-08-13 18:59:45 · 3231 阅读 · 0 评论 -
JTable 主要的方法
转载于:http://blog.csdn.net/yuqinying112/article/details/6973657void addColumn(TableColumn aColumn) 将 aColumn 追加到此 JTable 的列模型所保持的列数组的尾部。 void addColumnSelectionInterval(int index0, int index1)...转载 2018-02-15 14:52:37 · 874 阅读 · 0 评论 -
scheduleAtFixedRate与scheduleWithFixedDelay的区别
最简单,最直接的就是来个demo,测试一下就知道了。jdk文档中ScheduledExecutorService该类的描述中有个例子,来了改的。import static java.util.concurrent.TimeUnit.*;import java.util.concurrent.*;import java.util.logging.Level;import java.util.l...转载 2017-11-22 23:09:45 · 632 阅读 · 0 评论 -
ubuntu16安装jdk1.8
转载于:http://blog.csdn.net/mediocre117/article/details/52467492使用ubuntu16安装jdk1.8 系统:ubuntu16.04 jdk:1.8 1.从oracle官网中下载jdk-8u73-linux-x64.tar.gz 本打算直接解压缩并且放到自己想放的位置,但是总是出问题,所以不得不先在当前文件夹解压缩,然...转载 2018-03-05 14:18:54 · 266 阅读 · 0 评论 -
几种同步机制的比较
StampedLockAs you should know by now, I have a keen interest in concurrency. Even before I wrote the Concurrency Specialist Course, I was doing research for this newsletter. For example, I showed in 2...转载 2017-11-20 17:40:56 · 927 阅读 · 0 评论 -
String,StringBuffer,StringBuilder的区别
1、String(1)字符串常量,字符串长度不可变。(2)每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,占用内存。2、 StringBuffer(1)字符串变量,Synchronized即线程安全,可用于多线程。(2)对StringBuffer进行修改,是对同一个对象进行操作,而不是生成新的对象并改变对象引用。(3)如果想转成...原创 2017-12-05 20:48:02 · 93 阅读 · 0 评论 -
FlowLayout流布局管理器
FlowLayout(int align, int hgap, int vgap)创建一个新的流布局管理器,它具有指定的对齐方式以及指定的水平和垂直间隙。 align 参数的值必须是以下值之一:FlowLayout.LEFT、FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING 或 FlowLayout.TRAILING。LayoutManag...转载 2018-02-02 10:52:18 · 1586 阅读 · 0 评论 -
java类中serialversionuid 作用是什么?
转载于:http://www.cnblogs.com/ouym/serialVersionUID表示:“串行化版本统一标识符”(serial version universal identifier),简称UIDserialVersionUID必须定义成下面这种形式:static final long serialVersionUID = xxxL;serialVersionUID 用来表明类的不...转载 2018-02-02 11:42:11 · 745 阅读 · 0 评论 -
JMenuBar,JMenu,JMenuItem的关系
转载至:http://blog.csdn.net/richardbillions/article/details/51926596在一个窗口中,我们经常需要给窗口添加菜单条。在 Java 中这一部分是由三个类实现的,它们是JMenuBar、JMenu和JMenuItem,分别对应菜单条、菜单和菜单项。同时,可以给JMenuItem注册侦听器,但不能对JMenuBar,JMenu注册侦听器.一、菜单...转载 2018-02-08 20:20:55 · 428 阅读 · 0 评论 -
JFrame中setDefaultCloseOperation的参数含义
转载于:http://blog.csdn.net/liujun13579/article/details/7755871实例1:一个空的java窗口// JFrameDemo1.javaimport javax.swing.*; //使用Swing类,必须引入Swing包public class JFrameDemo1{ public staticvoid main( String ar...转载 2018-02-08 21:19:40 · 720 阅读 · 0 评论 -
【Swing基础】布局管理器 - LayoutManager
转载于:http://tieba.baidu.com/p/2101752057?see_lz=1 >>>>Swing 界面布局的方式 —— LayoutManager接口在Swing里面,任何一个控件都是一个容器。你可能听说过Swing里所有的控件都继承自 JComponent 这个类。 如果你去翻API文档,就会发现 JComponent 类继承自 Container 类...转载 2018-02-10 16:37:48 · 3023 阅读 · 0 评论 -
setPreferredSize和setSize的区别及用法
转载于:http://tieba.baidu.com/p/2172505897?see_lz=1The short answer is: it's complicated.The slightly longer answer is: use setSize() if your component's parent has no layout manager, and setPreferredSiz...转载 2018-02-10 16:42:48 · 820 阅读 · 0 评论 -
JFrame的层次结构究竟是什么样的,什么又是ContentPane?
转载于:http://tieba.baidu.com/p/2004216123?see_lz=1在学习如何向 JFrame 添加控件时,很多人都会在教科书上看到这样的语句:getContentPane().add(……);然后有的人就产生了疑问,为什么要这么写呢?好像我直接写 add(……); 也可以啊?的确,现在直接写 add(……); 是可以的,但是在 java 1.4 还是更早的年代,这一句...转载 2018-02-10 16:45:56 · 6315 阅读 · 1 评论 -
Class.forName()的作用与使用总结
转载于:http://blog.csdn.net/zhangxichao100/article/details/511685471、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当...转载 2018-02-10 23:07:10 · 251 阅读 · 0 评论 -
最长公共子序列与最长公共子串(DP)
1. 问题描述子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串cnblogs belong比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与母串保持一致,我们将其称为公共子序列。最长公共子序列(Longest Common Subsequence,LCS),顾名思义,是指在所有的子序列中最长的那一个。子串是要求更严格的一种子序列,要...转载 2018-09-09 10:58:54 · 441 阅读 · 0 评论