自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 HashMap

1.8JDKstatic final float DEFAULT_LOAD_FACTOR = 0.75f;static final int TREEIFY_THRESHOLD = 8;static final int UNTREEIFY_THRESHOLD = 6;内部Node节点:static class Node<K,V&amp

2019-02-25 10:54:28 280

原创 LinkedList

LinkedList是一个基于双向链表的数据结构,作为一个容器,它在工作实际中并不经常被使用。因为它是基于链表实现的,所以对它的一切访问操作都会很慢,比如:增:若是在链表头部或尾部进行添加元素操作,只需要在每次添加元素时用head和tail来标记链表的头和尾,这样的话增加操作就会很快了;若是在链表中间插入一个元素,最好的方法也只有二分法,本质也就是for循环来进行查找和定位,链表越长,效率越低...

2019-02-02 16:54:25 127

原创 ThreadLocal

它位于java.lang包下它提供线程私有变量,这些变量和普通的变量不同,因为每个线程通过get或set方法持有它们独自的变量并且单独初始化变量副本。ThreadLocal的对象一般应该用private static来修饰从而关联上一个线程的状态。每个线程持有引用来关联线程本地变量副本只要这个线程还活着并且ThreadLocal对象可以访问。在线程结束后线程本地变量的副本会被GC回收(除非存...

2019-02-02 15:21:52 216

原创 ReentrantReadWriteLock

成功获取读锁的线程将会看到之前已经释放完毕的写锁做的所有更新操作它可以确保同一时刻只有一个线程能够修改共享数据,与此相对的,大多数情况下可以有多个线程同时读取同一个数据它支持和ReentrantLock一样的机制,也就说它支持公平和非公平机制公平:当前锁被释放后,在等待队列中等待时间最长的写锁会被分配到写锁;或者有一组读锁等待时间比所有写锁的等待时间更长,这一组读锁会被分配到读锁写锁可以获...

2019-01-31 13:30:59 146

原创 Lock和Synchronize区别

1、两者所处层面不同synchronized是Java中的一个关键字,当我们调用它时会从在虚拟机指令层面加锁,关键字为monitorenter和monitorexitLock是Java中的一个接口,它有许多的实现类来为它提供各种功能,加锁的关键代码为大体为Lock和unLock;2、获锁方式synchronized可对实例方法、静态方法和代码块加锁,相对应的,加锁前需要获得实例对象的锁或类...

2019-01-21 16:13:03 20740 3

原创 webService

webService三要素:SOAP、WSDL、UDDI1、SOAP(Simple Object Access Protocol)SOAP:简单对象访问协议,是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(SOAP中有一个Envelope元素,可以将XML文件当作SOAP消息来传输,但此文件本质上还是XML文件 )的协议,它使应用程序通过 HTTP 来交换信息即SOAP = H...

2019-01-20 19:37:00 144

原创 springBoot整合mybatis、dubbo、thymeleaf

因为项目里用到了dubbo,所以我们需要建三个独立的项目,分别是生产者(provider)、消费者(consumer)和它们共用的接口首先是接口,接口里定义了一些公共的jar包依赖:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"...

2019-01-12 21:37:44 386

原创 Condtion队列

Condition实现了Object中的监视器方法(wait和notify)。 举个列子:假定我们有一个缓冲区提供了put和get方法。如果一个线程尝试在一个空缓冲区中使用take方法,这个线程就会被阻塞,直到有一个可以获取的元素;如果一个线程尝试在一个满的缓冲区中使用put方法,它就会被阻塞,直到这个缓冲区有空位。我们因该保持执行put和set方法的线程在不同的等待尺池中,这样我们的操作才会最佳...

2019-01-09 19:55:34 174

原创 SSM

2019-01-09 19:54:09 126

原创 搭建springmvc

介绍springmvc框架的搭建1、新建maven项目2、添加最少maven依赖<properties> <junit.version>4.12</junit.version> &am

2019-01-09 19:53:52 110

原创 spring整合mybatis

项目结构:1、导入maven最少依赖<properties> <junit.version>4.12</junit.version> <spring.version>4.3.12.RELEASE</spring.versi

2019-01-09 19:53:36 108

原创 Mybatis搭建

项目构建1、创建webapp项目2、添加最少依赖<properties> <junit.version>4.12</junit.version> <spring.version>4.3.12.RELEASE</spring.version> &lt

2019-01-09 19:53:16 105

原创 搭建spring项目

1、添加maven依赖2、

2019-01-09 19:52:53 117

原创 分页的实现

最近用了一下EasyUI的分页插件,感觉用起来简单,只需要传给它两个参数rows和total就行,但是之前并不知道它的实现原理,所以学的时候还是挺不容易的。现在了解了一下它的实现原理,之前的困惑就再也不在了。首先,来分析一下:我要实现的效果如图,在这里并不使用JS、Ajax或框架等工具,就用原生的servlet和jdbc来实现先看最下面一行的实现:数据的总条数:这个简单,用一条sql...

2019-01-03 10:47:11 580

原创 ReentrantLock整理

ReentrantLock内部有一个继承于AQS的Sync类,正如AQS源码里所说的:AQS的子类们应该被定义为非公开的内部辅助类,并且被用来实现它们外部类的其它内部类的同步属性,即ReentrantLock一样,一个Sync内部类实现了AQS的一些同步方法,并且内部公平和非公平锁类调用了这一些方法来进行锁操作。AQS还为ReentrantLock提供了一个原子值state来表示状态,Reent...

2018-12-20 17:01:49 97

原创 错误记录

Invalid property 'id' of bean class [java.lang.String]: Bean property 'id' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?...

2018-12-20 09:42:34 277

原创 ReentrantLock

一个reentrant互斥锁和synchronized修饰的方法或代码作用大致相同,但它拥有着一些扩展性的功能。使用案例:class X{private final ReentrantLock lock = new ReentrantLock();public void m(){lock.lock();try{…}finally{lock.unlock();}}}代码:...

2018-12-13 19:32:21 119

原创 AQS exclusive模式整理

static final class Node { static final Node SHARED = new Node(); static final Node EXCLUSIVE = null; static final int CANCELLED = 1; static final int SIGNAL = -1; static final ...

2018-12-07 10:23:34 682

原创 servlet学习

servlet作用:用户发出请求以后,服务器怎么知道要调用哪个方法来处理请求呢?servlet的web.xml配置方法< servlet>< servlet-name>name</ servlet-name> < servlet-class>包名+类名< /servlet-class&a

2018-12-02 11:21:57 233

原创 AbstractQueuedSynchronizer

为实现阻塞锁和相关的同步器(semaphores, events等)提供一个依赖于先进先出等待队列的框架。这个类为大部分依赖于一个单原子值来表示状态的同步器提供了一个有用的基础。子类必须定义来改变这个状态值的protected方法,并且定义这个状态值的意义,用来获取或释放这个对象。子类应该被定义为被用来实现它内部类(enclosing)的同步属性的非公开内部辅助类。本类不实现任何同步接口,但它定...

2018-11-28 14:35:14 143

原创 ArrayList

是一个多线程不同步的基于数组实现的集合结构private static final int DEFAULT_CAPACITY = 10;private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8;默认容量为10,最大容量为:Integer.MAX_VALUE - 81、构造方法:有参构造方法:public Array...

2018-11-15 09:12:38 198

原创 MAVEN安装配置

远程仓库、本地仓库和镜像仓库远程仓库:存放着我们开发所用的所有配置文和jar包,我们每次要使用一个新的jar包都需要连网并从其中下载本地仓库:自己电脑中的仓库(可以是maven自动生成的,也可以是自己创建的)。当从远程仓库中下载好文件后就存放在这个仓库里,以后每次使用到此配置文或jar包时就会先从本地仓库中搜索,若有,则直接使用;没有,连接远程仓库并下载镜像仓库:maven中默认的远程仓库服...

2018-10-23 21:25:44 196

空空如也

空空如也

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

TA关注的人

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