随笔分类 - JAVA
发表于 2020-07-20 11:04阅读:489评论:0推荐:0
摘要:来源 | cnblogs.com/jurendage/p/12653865.html 说明:在实际的业务中,难免会跟第三方系统进行数据的交互与传递,那么如何保证数据在传输过程中的安全呢(防窃取)?除了https的协议之外,能不能加上通用的一套算法以及规范来保证传输的安全性呢? 下面我们就来讨论下常用
阅读全文 »
发表于 2020-03-18 19:38阅读:665评论:0推荐:0
摘要:Position 您可以回想一下,缓冲区实际上就是美化了的数组。在从通道读取时,您将所读取的数据放到底层的数组中。 position 变量跟踪已经写了多少数据。更准确地说,它指定了下一个字节将放到数组的哪一个元素中。因此,如果您从通道中读三个字节到缓冲区中,那么缓冲区的 position 将会设置为
阅读全文 »
发表于 2019-11-08 10:43阅读:152评论:0推荐:0
摘要:一.CountDownLatch用法 CountDownLatch类位于java.util.concurrent包下,利用它可以实现类似计数器的功能。比如有一个任务A,它要等待其他4个任务执行完毕之后才能执行,此时就可以利用CountDownLatch来实现这种功能了。 CountDownLatch
阅读全文 »
发表于 2019-11-08 10:36阅读:545评论:0推荐:0
摘要:Lock读写锁机制可以实现! 在Java中Lock接口比synchronized块的优势是什么? Lock接口最大的优势是为读和写分别提供了锁。 1 import java.text.SimpleDateFormat; 2 import java.util.Date; 3 import java.u
阅读全文 »
发表于 2019-11-08 10:35阅读:203评论:0推荐:0
摘要:阻塞队列与普通队列的不同在于。当队列是空的时候,从队列中获取元素的操作将会被阻塞,或者当队列满时,往队列里面添加元素将会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得
阅读全文 »
发表于 2019-11-08 10:17阅读:740评论:0推荐:0
摘要:什么是死锁? 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。 不适当的使用“synchronized”关键词来管理线程对特定对象的访问。“synchronized”关键词的作用是,确保在某个时刻只有一个线程被允许执行特定的代码块,因此
阅读全文 »
发表于 2019-11-08 09:38阅读:151评论:0推荐:0
摘要:生产者消费者模型是我们学习多线程知识的一个经典案例,一个典型的生产者消费者模型如下: public void produce() { synchronized (this) { while (mBuf.isFull()) { try { wait(); } catch (InterruptedExc
阅读全文 »
发表于 2019-11-08 08:52阅读:14113评论:1推荐:1
摘要:Spring boot中的注解@ConditionalOnProperty,可以通过配置文件中的属性值来判定configuration是否被注入, @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.TYPE, ElementType.
阅读全文 »
发表于 2019-11-06 17:25阅读:401评论:0推荐:0
摘要:Java注解简介 开发中经常使用到注解,在项目中也偶尔会见到过自定义注解,今天就来探讨一下这个注解是什么鬼,以及注解的应用场景和如何自定义注解。 下面列举开发中常见的注解 @Override:用于标识该方法继承自超类, 当父类的方法被删除或修改了,编译器会提示错误信息(我们最经常看到的toStrin
阅读全文 »
发表于 2019-09-21 08:34阅读:1656评论:0推荐:0
摘要:1.synchronized加同步格式: synchronized(需要一个任意的对象(锁)){ 代码块中放操作共享数据的代码。 } synchromized缺陷synchronized是java中的一个关键字,也就是说是java语言的内置的特性。 如果一个代码块被synchronized修饰,当一
阅读全文 »
发表于 2019-09-09 13:44阅读:4587评论:0推荐:1
摘要:有的时候为了程序的灵活性,需要根据参数动态的调用方法。代码框架大致spring为主,下面是具体代码: 接口: 实现类(实现类中有一个从spring容器中取的对象) 这是最初我直接用反射去调用的代码: 打印结果如下: 可以看到直接用反射需要从spring容器获取的那个对象是不能被注入的,那么只能换一种
阅读全文 »
发表于 2019-09-05 08:42阅读:681评论:1推荐:1
摘要:大家应该都知道ConcurrentHashMap在1.8的时候有了很大的改动,当然,我这里要说的改动不是指链表长度大于8就转为红黑树这种常识,我要说的是ConcurrentHashMap在1.8为什么用CAS+Synchronized取代Segment+ReentrantLock了 首先,我假设你对
阅读全文 »
发表于 2019-08-26 17:32阅读:304评论:0推荐:0
摘要:1、POJO POJO(Plain Old Java Object)这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。按照Martin Fowler的解释是“Plain Old Java Object”,从字面上翻
阅读全文 »
发表于 2019-08-26 17:32阅读:1456评论:2推荐:3
摘要:1. 有这么一个故事,从xml配置文件的bean说起 Spring用xml配置文件的时候(不知道阅读这篇文章的你用没用过,我用过一段时间,那是黑暗伤痛的回忆QQQ),一个xml配置文件里面有很多个bean。类似这样: <bean id="helloWorld" class="com.test.spr
阅读全文 »
发表于 2019-08-01 09:57阅读:1894评论:0推荐:1
摘要:最近项目要从.net转java了,之前java语言就就用过,本着熟悉回顾的想法,决定自己用maven搭建一个基础的ssm框架,一些搭建完毕,程序也能正常运行了。最后对比了别人搭建好的源码,发现他们iml文件中很多orderEntity标签。我的文件确没有。于是进行千百度,发现并没有搜索到相关的 问题
阅读全文 »
发表于 2019-07-17 08:41阅读:211评论:0推荐:0
摘要:一、Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。 Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值
阅读全文 »