_heng_的博客

小小程序猿

java HashMap的原理

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMa...

2018-05-31 20:24:12

阅读数 75

评论数 0

ReentrantLock简单图解学习

写这篇文章是让自己对AQS和ReentrantLock加深理解,需要配合之前的文章一起学习。AQS(AbstractQueuedSynchronizer)初学java ReentrantLock(可重入锁)初学假设有3个线程A、B、C都调用lock.lock()方法获取锁,ReentrantLoc...

2018-04-29 09:42:05

阅读数 452

评论数 0

AQS的ConditionObject

Condition接口主要方法:void await() throws InterruptedException;//相当于 Object.wait();void signal();//相当于Object.notify();void signalAll();//相当于Object.notifyAl...

2018-04-19 09:02:41

阅读数 105

评论数 0

SQL优化

网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充。这篇文章我花费了大量的时间查找资料、修改、排版,希望大家阅读之后,感觉好的话推荐给更多的人,让更多的人看到、纠正以及补充。 1.对查询进行优化,要尽量避免全表扫描,首先应...

2018-04-09 09:16:34

阅读数 39

评论数 0

java ReentrantLock(可重入锁)初学

学习ReentrantLock,需要先学习AQS同步器的知识 非公平锁:不一定是完全按照先来先得的顺序来获取资源 公平锁:绝对按照先来先得的顺序获取资源 public class ReentrantLock implements Lock, java.io.Serializable { p...

2018-01-29 09:08:08

阅读数 138

评论数 0

AQS(AbstractQueuedSynchronizer)初学

ReentrantLock(可重入锁),CountDownLatch(闭包),ReentrantReadWriteLock等内部都是基于AQS实现的,所以有必要学习一下AQS的实现原理:多线程通过volatile int state(共享资源)的状态来判断是否获取到资源,没获取的线程进入队列,等待...

2018-01-11 10:56:54

阅读数 113

评论数 0

rbac权限管理初学

RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联。简单地说,一个用户拥有若干角色,每一个角色拥有若干权限。这样,就构造成“用户-角色-权限”的授权模型。在这种模型中,用户与角色之间,角色与权限之间,一般者是多对多的关系。(如下图) ...

2017-09-27 22:50:05

阅读数 124

评论数 0

java反射学习

1.反射是什么?        JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制 2.为什么需要反射?         当我们使用反射动态的获取到...

2017-09-07 21:22:38

阅读数 146

评论数 0

MQ的使用场景

一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。目前使用较多的消息队列有ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 二、消息队列应用场景 以下介绍消...

2017-08-22 16:37:54

阅读数 187

评论数 0

String和StringBuffer的区别

String是不可变的,StringBuffer是可变的。 String s = "123"; System.out.println("s = " + s); s="456"; System.out.println("s...

2017-08-17 08:21:01

阅读数 140

评论数 0

java实现简单的二叉排序树

二叉排序树的定义: 二叉排序树(Binary Sort Tree)或者是一颗空树,或者是具有下列性质的二叉树: 1):若左子树不为空,则左子树上所有节点的值均小于根节点的值;若右子树不为空,则右子树上所有节点的值均大于根节点的值。 2):左右子树也都是二叉排序树。 一颗完整的二叉排序树 对二...

2017-08-09 09:37:52

阅读数 577

评论数 0

java实现简单的二叉树

二叉排序树,平衡二叉树,红黑树都是在普通二叉树的基础上构建的,所以很有必要学习一下二叉树。 二叉树的遍历: 1:先序遍历(DLR)   1):访问根节点;   2):按先序遍历访问左子树   3):按先序遍历访问右子树 2:中序遍历(LRD)  1):按中序遍历左子树  2):访问根节点  3):...

2017-08-02 22:18:46

阅读数 24876

评论数 7

springmvc入门笔记一:运行流程以及简单Hello World

做个笔记,留着自己以后复习, 一:springmvc运行流程: 二:简单的Hello World  1)基于配置文件的     第一步:导入所需要的jar包     第二步:在web.xml中配置DispatcherServlet <web-app xmlns:xsi=&quo...

2017-02-08 11:05:56

阅读数 233

评论数 0

thymeleaf学习笔记

公司的项目使用的是thymeleaf进行数据的绑定,在网上搜索了一些资料,进行一些简单的记录,以备复习之用。 1.简单表达式 变量表达式:${...} 例如:${my.name} 选择性/星号表达式:*{...} 一般是 th:object 后 取的 object中的属性,当没有选取对象...

2017-01-13 15:10:16

阅读数 5949

评论数 0

Failed to read candidate component class

Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [E:\ecj...

2016-10-02 18:07:15

阅读数 438

评论数 0

<Android>监听软键盘打开收起事件(软键盘自带收起按钮)

最近在公司开发cocos2dx上的android输入框控件,遇到软键盘的事件监听,通常软键盘的收起方式大致3种: 1.点击软键盘右下角的Return按钮(系统收起) 2.输入框焦点时按返回按钮(系统收起) 3.点击软键盘和输入框的外部(自发收起) 4.点击软键盘自带的收起按...

2016-08-25 18:02:58

阅读数 3305

评论数 1

如何搞定SVN目录的cleanup问题和lock问题

最近在使用SVN的时候碰到一个问题,就是操作时由于粗心大意,在更新的过程中点击取消,使得该目录出现cleanup的操作提示。 OK,按照cleanup提示操作后,又提示目录被lock... 网上有解决方案称,在SVN目录下找到 .svn 隐藏目录,一般是在项目的...

2016-08-19 08:24:03

阅读数 1099

评论数 1

两种方法解析Json数组

解析的Json数组如下: 第一种 使用自带的JsonArray 解析,代码如下: //通过自带的JsonArray public List getListPersonByArray(String jsonString){ List personList=new ArrayList...

2016-08-15 21:31:34

阅读数 29488

评论数 3

Fresco简单的使用—SimpleDraweeView

Fresco简单的使用—SimpleDraweeView 百学须先立志—学前须知: 在我们平时加载图片(不管是下载还是加载本地图片…..)的时候,我们经常会遇到这样一个需求,那就是当图片正在加载时应该呈现正在加载时的图像,当图片加载失败时应该呈现图片加载时的图像,当我们重新加载这张...

2016-07-27 09:00:27

阅读数 2682

评论数 0

71道经典Android面试题和答案

1.        下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存   B、内存回收程序负责释放无用内存    C、内存回收程序允许程序员直接释放内存    D、内存回收程序可以在指定的时间释放内存对象  2.        下面异常是属于Run...

2016-06-27 17:08:20

阅读数 265

评论数 0

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