![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA
Insu1ators
这个作者很懒,什么都没留下…
展开
-
Sentinel简介与使用
一、什么是Sentinel:Sentinel是阿里开源的项目,提供了流量控制、熔断降级、系统负载保护等多个维度来保障服务之间的稳定性。官网:https://github.com/alibaba/Sentinel/wikiSentinel主要特性:Sentinel与Hystrix的区别关于Sentinel与Hystrix的区别见:https://yq.aliyun.com/articles/633786/总体来说:Hystrix常用的线程池隔离会造成线程上下切换的overhead比较大;Hyst原创 2020-05-29 14:03:32 · 7680 阅读 · 0 评论 -
[总结]Mybatis入参占位符#遇到的问题
SQL片段<select id="selectBuildingInfoByQueryMap" resultType="java.util.Map"> SELECT t1.building_id buildingId,t1.building_name building,t1.community_name community,t1.la...原创 2019-09-29 10:24:03 · 606 阅读 · 0 评论 -
多线程入门
一:进程与线程的区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、...原创 2019-08-08 17:30:29 · 103 阅读 · 0 评论 -
多线程同步
一.什么是线程安全1.1为什么会有线程安全当多个线程同时共享,同一个全局变量或静态变量,做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。但是做读操作是不会发生数据冲突问题。二.案例需求现在有100张火车票,有两个窗口同时抢火车票,请使用多线程模拟抢票效果。二.线程不安全的情况/** * @description 线程不安全 * @date 2019/8/5 13:37 ...原创 2019-08-08 09:39:18 · 65 阅读 · 0 评论 -
JAVA异步
很多时候我们都希望能够最大的利用资源,比如在进行IO操作的时候尽可能的避免同步阻塞的等待,因为这会浪费CPU的资源。如果在有可读的数据的时候能够通知程序执行读操作甚至由操作系统内核帮助我们完成数据的拷贝,这再好不过了。从NIO到CompletableFuture、Lambda、Fork/Join,java一直在努力让程序尽可能变的异步甚至拥有更高的并行度,这一点一些函数式语言做的比较好,因此jav...原创 2019-07-03 09:31:40 · 2575 阅读 · 1 评论 -
JAVA实现Excel的导入导出
一.概述1.excel读写技术2.区别二.jxl读写基础代码1.从数据库将数据导出到excel表格public class JxlExcel {public static void main(String[] args) { //创建Excel文件 String[] title= {"姓名","课程名","分数"}; File file=new File("f:/sheet1...原创 2019-06-25 16:00:19 · 115 阅读 · 0 评论 -
Excel中取出的日期数字更改为日期
如果excel中的日期是2016-8-23,取出的值是42606,此数字是距离1900年1月1日的天数,以下是转换成2016-8-23格式代码Calendar c = new GregorianCalendar(1900,0,-1); Date d = c.getTime(); System.out.println(d.toLocaleString()); Date _d = ...原创 2019-06-25 13:40:09 · 516 阅读 · 0 评论 -
RPC实现
1.目录整体结构如下1.服务端定义接口为HelloServicepackage cn.rpc.demo.service;/** * @author insulators * @date 2019/5/27 14:29 **/public interface HelloService { public void sayHello(String info);}2.在服...原创 2019-05-28 10:54:34 · 104 阅读 · 0 评论 -
java集合框架-List集合ArrayList和LinkedList详解
底层是基于数组,(数组在内存中分配连续的内存空间)是对数组的升级,长度是动态的。数组默认长度是10,当添加数据超越当前数组长度时,就会进行扩容,扩容长度是之前的1.5倍,要对之前的数组对象进行复制,所以只有每次扩容时相对性能开销大一些。源码(jdk 1.8):1.非指定位置添加元素// 1. 添加元素 public boolean add(E e) { ensureC...转载 2019-03-27 09:54:36 · 135 阅读 · 0 评论 -
JAVA8新特性流式处理
1.流式处理简介及过程java8的流式处理极大的简化了对于集合的操作,实际上不光是集合,包括数组、文件等,只要是可以转换成流,我们都可以借助流式处理,类似于我们写SQL语句一样对其进行操作。java8通过内部迭代来实现对流的处理,一个流式处理可以分为三个部分:转换成流、中间操作、终端操作。如下图:以集合为例,一个流式处理的操作我们首先需要调用stream()函数将其转换成流,然后再调用相应的...原创 2019-04-23 11:20:43 · 260 阅读 · 0 评论 -
JAVA8数据流式处理Lambda表达式
Java 8新增的Lambda表达式,我们可以很方便地并行操作大集合,刚刚接触java8,Lambda还是挺好用的,目前接触的也不多,给大家举几个例子(后续有关于Lambda的补充也会继续更新此篇博客)废话不多说,咱们直接进入例子1、利用stream().forEach()循环处理List;List<String> list = Lists.newArrayList();//新...原创 2019-04-23 10:52:26 · 536 阅读 · 0 评论 -
JAVA监听器Listener
什么是监听器监听器用于监听Web应用中某些对象的创建、销毁、增加,修改,删除等动作的发生,然后作出相应的响应处理。当监听范围的对象的状态发生变化的时候,服务器自动调用监听器对象中的方法。监听器的常用场景常用于统计网站在线人数、系统加载时进行信息初始化、统计网站的访问量等等。监听器的分类按监听的对象划分ServletContext对象的监听器HttpSession对象的监...原创 2019-04-09 14:15:29 · 221 阅读 · 0 评论 -
动态代理机制
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口,...转载 2019-04-02 09:31:36 · 80 阅读 · 0 评论 -
JAVA反射
主要介绍以下几方面内容理解 Class 类理解 Java 的类加载机制学会使用 ClassLoader 进行类加载理解反射的机制掌握 Constructor、Method、Field 类的用法理解并掌握动态代理1.理解Class类 –对象照镜子后可以得到的信息:某个类的数据成员名、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE 都为其保留一个不变的 Class 类...转载 2019-04-01 11:08:53 · 116 阅读 · 0 评论 -
JAVA23种设计模式
一、什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理的运用设计模式可以完美的解决很多问题,每种模式在现在中都有相应...转载 2019-04-04 14:11:02 · 78 阅读 · 0 评论