自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 ConcurrentHashMap原理分析

HashTable是一个线程安全的类,它使用synchronized来锁住整张Hash表来实现线程安全,即每次锁住整张表让线程独占。ConcurrentHashMap允许多个修改操作并发进行,其关键在于使用了锁分离技术。它使用了多个锁来控制对hash表的不同部分进行的修改。ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段都有自己的锁。只要多个修改操作发生在

2017-07-31 16:43:58 182

转载 深入分析ConcurrentHashMap

效率低下的HashTable容器     HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他线程访问HashTable的同步方法时,可能会进入阻塞或轮询状态。如线程1使用put进行添加元素,线程2不但不能使用put方法添加元素,并且也不能使用get方法来获取元素,

2017-07-31 16:34:45 170

原创 this.interrupted()和this.isInterrupted()方法的区别

interrupted()方法声明:public static boolean interrupted() {//判断当前线程是否中断,当前线程是指运行this.interrupted()方法的线程 return currentThread().isInterrupted(true);//true表示执行该方法后清除中断状态}isInterrupted()方法声明:public bool

2017-07-28 12:19:39 1308

原创 数据库中varchar和char的区别

总结:VARCHAR是可变长度,在存储时,它是根据待存储的数据长度来分配存储空间。需要多用一个字节来存放长度信息(不占用varchar指定的长度)。CHAR是固定长度,在存储时,它是根据CHAR指定的长度来分配存储空间。如果待存储的数据长度小于CHAR规定的长度,则用空格补齐。如果大于CHAR规定的长度,则截断后再存储。因此VARCHAR相比CHAR节省了存储空间,但由于CHAR的长度

2017-07-24 09:37:53 1013

转载 redis持久化RDB和AOF

Redis 持久化:提供了多种不同级别的持久化方式:一种是RDB,另一种是AOF.RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。 Redis

2017-07-20 20:31:53 298

转载 Java线程面试题 Top 50

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、优化经验,所以线程相关的问题在面试中经常会被提到。在典型的Java面试中, 面试官会从线程的基本概念问起, 如:为什么你需要使用线程, 如何创建线程,用

2017-07-14 20:04:24 317

原创 线程死锁及如何使用JDK自带工具监测是否有死锁现象

Java线程死锁原因:不同线程都在等待根本不可能被释放的锁,从而导致所有的任务都无法继续完成。举个栗子:两个线程互相等待对方释放锁。/** * Created by LZF on 2017/7/14. * 学习:如何查看多线程死锁 */class DealThread implements Runnable{ public String username; public

2017-07-14 16:13:40 633

原创 Java-synchronized的使用方法

最近在看《Java 多线程编程核心技术》,顺便花点时间总结下synchronized的用法。在介绍之前需要了解到“非线程安全”问题存在于“实例变量”中,如果是方法内部的变量,则不存在“非线程安全”问题。下面举个栗子:方法内部声明一个变量时,是不存在“非线程安全”问题的。/** * Created by LZF on 2017/7/13. * 测试:方法内部的变量,不存在“非线程安全”问题 */

2017-07-14 11:50:02 482

转载 中文乱码在java中URLEncoder.encode方法要调用两次解决

一、场景:1、在客户端要通过get方式调用服务器端的url,将中文参数做utf-8编码,需要在js中两次的进行编码,服务器端才能用decode方法一次获取。例如:[html] view plain copyvar xing=encodeURIComponent(encodeURIComponent(xing));

2017-07-10 19:50:34 916

原创 2018秋招-阿里内推编程题

阿里巴巴的ODPS大数据处理平台可以启动一系列并发的作业,每个作业中存在一系列存在父子关系的任务。每个任务用一个三元组表示–(任务id,父任务id,执行开销),其中任务id是一个正整数(>0);父任务id为0表示根任务,每个作业存在一个唯一的根任务,并且所有的任务,如果其父任务id不为0,那么必然是一个已经存在的根任务id;执行开销是一个正整数(>0)。系统中至少存在一个作业。举例如下: (1,

2017-07-06 20:38:45 2897 4

转载 Java面试——从JVM角度比较equals和==的区别

1.  Java中数据类型分类1.1    基本数据类型又称为原始数据类型,byte,short,char,int,long,float,double,boolean,他们之间的比较应该使用(==),比较的是他们的值。1.2    复合数据类型当复合数据类型用(==)进行比较,比较的是他们在内存中的存放地址。当复合数据类型之间进行equals比较

2017-07-04 17:41:11 222

转载 java--String常量池问题的几个例子

String常量池问题的几个例子示例1:Java代码  String s0="kvill";  String s1="kvill";  String s2="kv" + "ill";  System.out.println( s0==s1 );  System.out.println( s0==s2 );  结果为:  tru

2017-07-04 17:28:06 268

转载 JVM——内存管理和垃圾回收

1.  何为GCJava与C语言相比的一个优势是,可以通过自己的JVM自动分配和回收内存空间。垃圾回收机制是由垃圾收集器Garbage Collection来实现的,GC是后台一个低优先级的守护进程。在内存中低到一定限度时才会自动运行,因此垃圾

2017-07-04 14:56:48 333

FSCapture截图软件

FSCapture截图软件,包含用户名和serial/序列号/注册码,提供的是百度网盘链接下载地址

2018-01-22

利用数据库实现的单词查询java编写

数据库实现的单词查询java编写,实现单词查找 单词添加 单词查询等等

2013-07-04

空空如也

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

TA关注的人

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