自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AJ1101的博客

纯技术分享,请多指教

  • 博客(24)
  • 收藏
  • 关注

原创 CountDownLanch 深度解析

CountDownLatch 深度解析涉及到到函数public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException("count < 0"); this.sync = new Sync(count);}private static final...

2019-04-01 15:29:02 836

原创 深坑——Linux下安装go时自带go引发的环境变量未生效问题

深坑——Linux下安装go时自带go引发的环境变量未生效问题!!产生原因由于Linux14.04 自带的go的软连接在/usr/bin/go,这个go软连(自行百度)接将会在连接到/usr/bin/golang-go的地址,然后继续进行连接。。。然后又因为环境变量生效优先级的问题(自行百度,如有好的文章请在下方留言,先感谢

2019-04-01 10:17:50 2583 1

原创 来聊聊线程池

线程池可以说是在Java代码中非常常见的技术了,利用线程池技术可以有效的提高系统资源的使用效率,本文将从线程池的类型分类、创建线程池参数、各种类型线程池的使用场景、优秀的设计思路等 Executor 为基础接口,设计初衷是将任务提交和任务执行细节解耦 ExecutorService 则更加完善,不仅提供了service管理功能,也提供了更加全面的提交任务机制 Executors 提供了各...

2018-08-16 12:30:58 275

原创 聊聊Java中的并发队列

本文主要总体的说一说各种并发队列 首先来一张全体照 从有界无界上分 常见的有界队列为ArrayBlockingQueue 基于数组实现的阻塞队列LinkedBlockingQueue 其实也是有界队列,但是不设置大小时就时Integer.MAX_VALUE,内部是基于链表实现的ArrayBlockingQueue 与 LinkedBlockingQueue 对比一哈 Arr...

2018-08-15 21:48:18 1559

原创 Java面试——JVM(2)

1、程序计数器(线程私有)线程执行字节码的行号指示器(注意是字节码,本地方法计数器为空的)2、Java虚拟机栈(线程私有):描述的是Java方法执行的内存模型每一个方法对应一个栈帧栈帧包含:局部变量表、操作数栈、动态链接、方法出口局部变量表slot会复用,导致一些对象不能被及时的回收,所以建议对象不用之后要赋值为空;局部变量表在编译器就已经完成分配方法的返回地址即方法出...

2018-08-14 18:04:59 224

原创 Java面试——JVM(1)

Java的类加载过程 加载过程 类的二进制流 –&gt; 运行时数据结构 –&gt; 生成一个Class对象作为这个类各种数据的访问入口验证 确保Class文件符合虚拟机要求准备 为类变量分配内存空间,设置零值解析阶段 将常量池中的符号引用替换为直接引用的过程符号引用 通俗的说可以认为是类的全路径直接引用 可以是指针、相对偏移量、句柄等可以定位到目标的量初始化 执...

2018-08-14 17:36:37 219

原创 Java web面试总结

状态码:206 客户发送了一个带有Range头的GET请求,服务器完成了它301 永久性转移302 临时性转移400 请求格式错误401 被请求的页面需要用户名和密码403 对被请求页面的访问被禁止405 请求中指定的方法不被允许500 服务器端错误request和response区别request 网址栏不会变,属于内部跳转response 网址栏会变,会让服务...

2018-08-14 16:07:32 208

原创 Java 基础知识面试题

深克隆和浅克隆的区别?浅克隆是两个完全相同的对象(包含普通对象和数组对象)指向了同一片内存区域深克隆是两个完全相同的对象(包含普通对象和数组对象)指向了不同的内存区域深克隆方法?申请一片新的内存区域,然后将对象拷贝到新的内存区域中== 和 equal 的区别?没有重载equal方法时,equal和== 是等价的,都是比较内存地址是否相同;重载equal方法后,如 ...

2018-08-14 12:01:35 281

转载 java 8 HashMap的resize()方法扩容部分 【转载深度好文】

原文链接  https://blog.csdn.net/u013494765/article/details/77837338没有别的说的,程序员直接看代码。红黑树比较麻烦,直接删除了。// 扩容兼初始化 final Node&lt;K, V&gt;[] resize() { Node&lt;K, V&gt;[] oldTab = table; ...

2018-08-02 13:41:52 313

转载 【转】 命令模式

原文链接:http://baijiahao.baidu.com/s?id=1587032070903401093&amp;wfr=spider&amp;for=pc命令模式(Command Pattern)将一个请求封装为一个对象,可让请求变得灵活(请求对象参数化),同时将请求者和请求接收者解耦。比如,A对象想调用B对象的某个方法,那么A对象必然需要依赖B对象;使用命令模式的话就类似抽取出一个公共...

2018-05-19 12:59:11 193

转载 CompletionService 介绍

原文链接:https://blog.csdn.net/u011116672/article/details/51113769CompletionService简介CompletionService与ExecutorService类似都可以用来执行线程池的任务,ExecutorService继承了Executor接口,而CompletionService则是一个接口,那么为什么CompletionS...

2018-05-17 17:57:08 211

转载 【转】简单的protobuf和protostuff

原文链接:https://blog.csdn.net/eric520zenobia/article/details/53766571在我们的开发过程中,序列化是经常需要处理的问题,比如在做分布式访问数据时,或者是在做redis缓存存储数据时,如果我们涉及的知识面不够广的话,可能会简单的使用JDK的序列化,也即在需要序列化的类上implements Serializable接口去实现序列化,我想说的...

2018-05-17 17:46:44 706

转载 【转】Tomcat 系统架构与设计模式

原文链接    https://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/工作原理 ...

2018-05-14 14:13:57 199

转载 【转】Java8 resize() 机制

HashMap的扩容机制---resize()虽然在hashmap的原理里面有这段,但是这个单独拿出来讲rehash或者resize()也是极好的。什么时候扩容:当向容器添加元素的时候,会判断当前容器的元素个数,如果大于等于阈值(知道这个阈字怎么念吗?不念fa值,念yu值四声)---即当前数组的长度乘以加载因子的值的时候,就要自动扩容啦。扩容(resize)就是重新计算容量,向HashMap对象里...

2018-05-13 18:37:12 3710 2

转载 lambda表达式案例

Java 8十个lambda表达式案例转发自 http://www.jdon.com/idea/java/10-example-of-lambda-expressions-in-java8.html使用() -&gt; {} 替代匿名类:  1. 实现Runnable线程案例//Before Java 8:new Thread(new Runnable() { @Override ...

2018-04-24 17:49:58 226

转载 java 如何将数据写入XML中

java中用jdom 如何创建xml文档/将数据写入XML中转载自 https://blog.csdn.net/zjliwhf/article/details/53536812----------------------------------------------------------------------------------------------------------------...

2018-04-24 11:23:14 4669 2

原创 从B树谈到数据库的索引实现原理

B树(B-tree):具有以下性质:m代表阶数    1、根结点:至少有两个子女    2、非根结点包含的关键字个数为 m/2-1 &lt;= j &lt;= m-1(3: 1&lt;=j&lt;=2)    3、除根以外的内部结点个数 m/2 &lt;= k &lt;= m;    4、根结点在同层    5、每个节点的关键字都是有序的B+树与B树的区别在于:    1、每个非叶结点都不保存数据...

2018-03-02 13:55:47 359

原创 Java面试题一

什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程Java虚拟机知道底层硬件平台的指令长度和其他特性JDK和JRE的区别是什么?JDK(Java Development Kit) Java的开发工具--编译器、调试器、其他工具JRE(Java Runtime Environment)    Java运行时环境,包含虚拟机”st...

2018-03-02 11:01:45 250

转载 ConcurrentHashMap的前世今生

引言:首先需要了解的是内置锁和显示锁内置锁也叫对象锁,关键字为 synchronized显示锁就是Lock及其子类线程不安全的HashMap数据结构    由哈希表实现,数据结构构成为数组+链表+红黑树,解决哈希冲突的方案为拉链法寻址方式    通过Integer.highestOneBit算出比指定整数小的最大的2^N值,其实现方法如下。public static int highestOneB...

2018-03-01 20:46:10 311

原创 Jav8 HashMap-putVal() 方法分析

带中文注释的源码解析putVal() 方法解析final V putVal(int hash, K key, V value, boolean onlyIfAbsent,                   boolean evict) {        Node&lt;K,V&gt;[] tab; Node&lt;K,V&gt; p; int n, i;        // 如果存储元素的tab...

2018-03-01 16:42:07 8059 3

原创 Java8 线程池解析

1、线程池引入原因:        在Java中通过线程池复用线程2、线程池类图:        3、线程池核心类介绍:    3.1 在ThreadPoolExecutor类中提供了四个构造方法:public class ThreadPoolExecutor extends AbstractExecutorService {.....public ThreadPoolExecutor(int c...

2018-03-01 13:41:42 1495

原创 Fork/Join 设计解析

介绍:Fork/Join并行是获得良好的并行性能的最简单高效的设计技术。他是分治(Divide-and-Conquer)算法的的并行实现,它的典型应用形式:Result solve(Problem problem) { if (problem is small) directly solve problem else { split problem into independent p...

2018-02-27 21:32:39 598 2

原创 ssm 接收ajax请求数据,并存放到数据库中

前端页面function subbtn() { $.ajax({ url: "/bdis", // 请求的URL type: "POST", // 请求方式 dataType: 'json', // 数据格式为json data:{ // 发送请求的json 数据 为键值

2017-11-07 23:08:05 2920

原创 ssm 处理静态资源完美方案

首先在 dispatcherServlet-servlet.xml (即前端控制器) 做如下配置: <!--两个标准配置 --> <!-- 能支持springmvc更高级的一些功能,JSR303校验,快捷的ajax...映射动态请求 --> <mvc:annotation-driven/> <!-- 将springmvc不能处理的请求交给tomcat --> <

2017-11-01 17:57:01 4169 1

空空如也

空空如也

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

TA关注的人

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