- 博客(20)
- 资源 (1)
- 收藏
- 关注
原创 手写单向链表java
最近学习了链表,分析了LinkedList的源码实现,打算自己实现下单向链表。浅谈单链表与双链表的区别这篇博客详细分析了链表和数组的优缺点,以及单向和双向链表的区别,再次就不再赘述。直接上代码package com.zhd.basics.javabase.link;/** * 实现非线程安全的单向链表 * * @Author: zhanghaodong * @Descripti...
2019-01-03 11:55:49
831
1
转载 Java集合与数组
文章目录一、集合与数组二、层次关系三、几种重要的接口和类简介四、遍历五、ArrayList和LinkedList六、Map集合map的遍历一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边...
2018-11-23 23:12:08
264
原创 redis实现分布式锁,set接口详解
前言电面被问及redis是如何实现分布式锁的,答曰setnx,又问如何设置超时时间的,答曰expire,这时隐隐感觉不大对劲,但我确实是这么实现的,所以也就这么回答,挂上电话赶紧百度一下。搜索“redis分布式锁”百度排行第一的 https://www.cnblogs.com/linjiqin/p/8003838.html非常详细,可靠性首先,为了确保分布式锁可用,我们至少要确保锁的实现...
2018-11-18 22:39:31
5636
1
原创 Java 并发工具箱之concurrent包2Atomic
文章目录概述java.util.concurrent.atomic.AtomicBooleanjava.util.concurrent.atomic.AtomicInteger概述atomic包位于concurrent包下,具体目录入下:从相对简单的Atomic入手(java.util.concurrent是基于Queue的并发包,而Queue,很多情况下使用到了Atomic操作,因此首先...
2018-11-14 17:04:54
372
原创 Java 并发工具箱之concurrent包1概述
文章目录概述rt.jar的目录入下:类图结构概述java.util.concurrent 包是专为 Java并发编程而设计的包。包下的所有类可以分为如下几大类:locks部分:显式锁(互斥锁和速写锁)相关;atomic部分:原子变量类相关,是构建非阻塞算法的基础;executor部分:线程池相关;collections部分:并发容器相关;tools部分:同步工具相关,如信号量、闭锁...
2018-11-14 16:43:01
317
转载 static关键字
文章目录一.static关键字的用途二.static关键字的误区三.多线程中的static四.常见的笔试面试题引用博客一.static关键字的用途static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。在《Java编程思想》P86页有这样一段话:“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可...
2018-11-12 15:23:19
157
转载 事务隔离级别
MySQL事务隔离级别:事务隔离级别脏读不可重复读幻读读未提交(read-uncommitted)是是是不可重复读(read-committed)否是是可重复读(repeatable-read)否否是串行化(serializable)否否否转载自https://www.cnblogs.com/huanongying/p/70...
2018-11-09 16:57:12
181
原创 Spring的7种传播特性
声明式事务在Spring中,声明式事务是用事务参数来定义的。一个事务参数就是对事务策略应该如何应用到某个方法的一段描述,如下表所示一个事务参数共有7个方面组成:...
2018-11-09 14:22:45
10125
1
原创 事务的四种特性
什么是事务:事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.事务特性(4种):原子性 (atomicity):强调事务的不可分割.一致性 (consistency):事务的执行的前后数据的完整性保持一致.隔离性 (isolation):一个事务执行的过程中,不应该受到其他事务的干扰持久性(durability) :事务一旦结束,数据就持久到数据库下面...
2018-11-09 10:51:43
47764
原创 cglib原理分析
先写个示例public class MyInterceptor implements MethodInterceptor { public Object getProxy(Class<?> clzss) { Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(clzss);
2018-11-08 16:30:18
1521
原创 cglib动态代理示例
1、mavne引jar包 <!-- https://mvnrepository.com/artifact/cglib/cglib --> <dependency> <groupId>cglib</groupId> <artifactId>cglib</artifactId> <version&g
2018-11-08 14:08:19
862
原创 spring AOP的@Around输出请求参数和返回参数
先把我的打印日志代码贴出来package com.zhd.exploit.api.config;import java.util.HashMap;import java.util.Map;import java.util.UUID;import javax.servlet.http.HttpServletResponseWrapper;import org.aspectj.lan...
2018-11-08 12:46:14
31319
转载 Spring Aop实例@Around、@Before、@After、@AfterReturning 、@AfterThrowing注解方式配置
用过spring框架进行开发的人,多多少少会使用过它的AOP功能,都知道有@Before、@Around和@After等advice。最近,为了实现项目中的输出日志和权限控制这两个需求,我也使用到了AOP功能。我使用到了@Before、@Around这两个advice。但在,使用过程中,却对它们的执行顺序并不清楚。为了弄清楚在不同情况下,这些advice到底是以怎么样的一个顺序进行执行的,我作了个...
2018-11-08 11:55:21
7252
原创 synchronized的用法及验证
synchronized有四种用法:1、修饰普通方法与静态方法,放在范围操作符(public等)之后,返回类型声明(void等)之前。2、对某一代码块使用,synchronized后跟括号,括号里是变量、对象、类。修饰普通方法与静态方法,那么他们的锁分别是什么呢?让我们一起验证一下。不加锁public class SynWork { private int index; pu...
2018-11-07 15:26:52
285
1
原创 java中排序源码分析(JDK1.8)
List排序在开发过程中常用的是jdk自带的排序Collections.sort(List<T> list, Comparator<? super T> c);打开源码如下:@SuppressWarnings({"unchecked", "rawtypes"})public static <T> void sort(List<T> lis...
2018-11-06 16:05:06
662
1
原创 数据库表结构设计原则
先谈谈我这些年趟过的数据库的坑:同义多词。例如:在Student表中修改时间字段用updatetime,在Address表中修改时间字段用modifytime。同词多义。例如:渠道这个字段,可以用channel表示,在委托表中表示请求的来源渠道,eg:安卓、IOS、官网;在支付日志表中表示支付的渠道,eg:连连支付、银联支付、易宝支付。主键全部用uuid或者mysql中全部用id自增主键...
2018-06-28 11:04:34
1975
原创 URI与URL的区别
URI—Uniform Resource Identifier通用资源标志符Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的URI一般由三部组成①访问资源的命名机制②存放资源的主机名③资源自身的名称,由路径表示,着重强调于资源。URL—Uniform Resource Location统一资源定位符URL是Internet上用来描述信息资源的字符串,...
2018-06-25 18:23:42
1211
原创 HTTP请求封装
目前JAVA实现HTTP请求的方法用的最多的有两种: 1、通过HttpURLConnection去实现,HttpURLConnection是JAVA的标准类,是JAVA比较原生的一种实现方式。 2、通过HTTPClient这种第三方的开源框架去实现。应用最广泛的就是apache的HTTPClient,有两大版本,HttpClient3.1 是 org.apache.commons.httpcl...
2018-06-25 17:25:15
5388
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人