![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
猫哈噗啦啦吖
这个作者很懒,什么都没留下…
展开
-
java进程使用CPU过高定位
java进程使用CPU过高定位本次操作旨在演示,在此贴出演示代码,并且将其编译后运行在linux上。public class Test { public static void main(String[] args) { new Thread(()->{ while (true) {int i = 1+2;} }, "MyTestThread1").start(); new Thread(()->{ while (true) {int i = 1+2;} },原创 2020-08-27 01:27:10 · 230 阅读 · 0 评论 -
NIO之Buffer
Buffer其实在Buffer中官方的javadoc中已经讲得非常清楚了,本篇博客是本人做为笔记使用。下面是我截取的javadoc很详细的介绍了关于mark,position,limit,capacity以及常用方法clear,flip,rewind。以下是我使用的一个案例 public static void test1(){ //创建缓冲区 ByteBuffer buff = ByteBuffer.allocate(1024); Syst原创 2020-07-28 23:09:06 · 219 阅读 · 0 评论 -
NIO之NIO介绍
BIO 在介绍NIO之前,我们来了解一下BIO以及为什么会出现NIO。下面来见一段传统的BIO形式的代码。Server ServerSocket server = new ServerSocket(); server.bind(new InetSocketAddress(9876)); while(true) { System.out.println("等待连接");原创 2020-07-28 22:35:33 · 166 阅读 · 0 评论 -
SpringBoot之Cache注解结合Redis的使用
@Servicepublic class RedisServiceImpl implements RedisService { @Override @Cacheable(value = "user", key = "#id") //id=123456,会在redis里存一个key为user::123456的对象,如没有则创建,如有则读取并且不会走业务代码,直接返回对象 ...原创 2020-04-02 00:03:32 · 233 阅读 · 0 评论 -
Spring之@Autowired和@Resource
原创 2020-04-01 23:19:41 · 141 阅读 · 0 评论 -
JAVA多线程之CyclicBarrier 、CountDownLatch 、Semaphore的用法
1.CountDownLatch (线程计数器)利用CountDownLatch 可以实现类似计数器的功能,比如主线程需要等待5个子线程执行完毕之后才能执行,就可以利用CountDownLatch实现,案例如下:public class TestThread { final static CountDownLatch latch = new CountDownLatch(5); ...原创 2020-03-31 23:25:38 · 380 阅读 · 0 评论 -
JAVA多线程之锁
1.乐观锁 乐观锁是一种概念,它认为程序读多写少。 那么在获取数据的时候不加锁,而在更新的时候判断此期间这个值有没有改变(读版本号),如果没变就加锁更新,变化了就重新读取。(CAS) 2.悲观锁 悲观锁也是一种概念,它认为程序写多读少。 那么不管在获取数据的时候还是更新数据的时候都对操作进行加锁。 java中的悲观锁常见的就是关键词Synchron...原创 2020-03-31 22:52:57 · 114 阅读 · 0 评论 -
JAVA多线程之线程池的使用
public class TestThreadPool { public static void main(String[] args) throws ExecutionException { //所使用阻塞队列 //使用此阻塞队列时num不能大于maximumPoolSize,否则将报错 //并且一次性执行num个线程 ...原创 2020-03-31 22:49:04 · 183 阅读 · 1 评论 -
ArrayList与LinkedList各操作性能比较
在数据量为50w的时候测试数据 @Test public void array() { //ArrayList追加元素 long starttime = System.currentTimeMillis(); for (int i = 0; i < COUNT; i++) { arrayList.add(i); } long endtime =...原创 2019-03-06 23:17:57 · 786 阅读 · 0 评论 -
基于JDK1.8的HashMap源码分析
参考文章:https://www.cnblogs.com/leesf456/p/5242233.html1.HashMap结构table即为存放元素的数组,桶(bucket)的作用是在key的hash值发生碰撞时将key发生碰撞的元素存入桶中。不难发现1.8的HashMap较之1.7的HashMap做了较大的优化,其中有个比较明显的地方就是在原来桶中的元素不在按照唯一的链表进行存放,而...原创 2019-03-05 23:33:17 · 228 阅读 · 1 评论 -
Java八种基本类型的缺省值
byte 0short 0int 0long 0Lfloat 0.0fdouble 0.0dchar '\u0000'boolean false而其对应的封装类的缺省值都为 null原创 2016-09-09 14:32:56 · 3959 阅读 · 0 评论 -
JAVA反射小案例
最近看框架的时候发现自己的反射的知识不是特别清楚,随即就抽了点时间在网上把反射的知识补了一下,下面是我自己敲的一个小案例,见笑见笑package com.yc.test;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.M原创 2016-08-16 17:18:12 · 254 阅读 · 0 评论