4 林福建

尚未进行身份认证

暂无相关简介

等级
TA的排名 3w+

ThreadLocal源码解析及一点思考

看一个案例:public static void main(String[] args) { ThreadLocal<String> own = new ThreadLocal<String>(); own.set(Thread.currentThread().getName()); System.out.println(own.get()); ...

2019-05-31 11:33:36

算法-排序算法

插入排序 /** * 插入排序 * @param arr */ public static <T extends Comparable<? super T>> void insertSort(T [] arr) { int j; for(int i=1 ; i<arr.length; i++) { T tmp = arr[i]; ...

2019-03-29 16:44:18

Spring boot 数据库里读取属性到system中,以便@Value(${})从system中获取属性值

之前梳理spring启动,bean实例化的时候有一个知识点是beanDefination中的property是在beanFactoryPostProcessor中将property文件中的属性值赋给beanDeifination的,但在代码中使用@Value(${property}),debug时(如下),发现是AutowiredAnnotationBeanPostProcessor将属性注入...

2019-03-08 11:12:43

AOP 拦截线程池执行新线程,保证上下文在父子线程间传递

从朋友那里借鉴来的思路,他当时遇到的业务情况是这样的:每个用户登陆系统后,该用户需要异步执行多个方法,方法内涉及到从securityContext和LogContext中读取用户信息抽象出来便是用户登录的主线程需要异步(多子线程)执行多个方法,方法中需要保持用户的上下文信息解决思路:aop拦截子线程的调用,将上下文通过封装的Runnable对象传递给子线程。因为aop是beanPos...

2019-03-07 15:31:23

SpringCloud微服务架构(github项目)

基于springcloud的微服务架构搭建项目见github项目:microservice-sc=v1.0,后续会不断更新搭建过程并添加底层业务组件,如果您喜欢的话给颗star小星星吧,您的肯定是我创作的动力!...

2019-02-27 10:52:32

java中到底是值传递还是引用传递

这个问题不用考虑太复杂,答案是值传递。首先java中的数据类型有两种:基本类型和引用类型基本类型的传递举个栗子:public class App { public static void main( String[] args ) { Integer i = 10; changeInteger(i); System.out.print...

2019-02-20 11:09:30

maven项目构建过程中遇到的问题总结

1、springboot项目启动过程中报错:ClassNotDef或者ClassNotFound这个问题一般是maven引入的相关依赖包有错误导致的,你可以在在项目上右键runas-->mavenbuild…-->cleancompile看看那些jar文件在编译过程中报错,然后你去本地maven仓库中将这样jar文件手动删除。最后在项目上右键runas–>ma...

2019-02-18 11:19:56

基于POI的Excel导入导出工具ExcelUtil

关于excel的操作工具网上实在太多,但有两方面原因值得自己写一个:1)简单的导入导出功能的案例大同小异,自己写一个也浪费不了多少时间,2)成熟的git工具类功能过于臃肿,我仅仅需要个导入导出你让我依赖你一个完整的package?一、核心工具类代码:packagecom.roboadvisor.platform.util.excelUtil;importjava.io.ByteArra...

2019-01-22 14:30:00

内存可见性、原子性及有序性

计算机的存储结构如下图其中cache高速缓存是cpu的一部分,一般cpu操作内存的数据(读写)会先判断数据是否在cache上有副本,有的话避免操作主内存直接从cache上操作副本。然后再在特定时机将cache的数据同步至主内存。内存数据可见性:单核cpu不存在可见性问题,因为所有的数据操作均是操作同一cache上的数据,但目前的应用服务器一般是多核cpu,这样每一个cpu上均有一个cach...

2019-01-21 15:17:42

远程方法调用HttpInvoker之利用BeanFactoryPostProcessor减少服务端客户端xml配置

场景:客户端http远程调用服务端的service方法,服务端将结果通过http返回给客户端。思考:远程方法调用的话有多种方式,这里就不卖弄了,我自己也没怎么用过像rmi之类的。我下边直接拿spring框架集成的httpInvoker来实现远程方法调用。用过的童鞋们可能知道少不了服务端HttpInvokerServiceExporter和客户端HttpInvokerProxyFactoryB...

2019-01-09 18:22:33

Spring FrameWork的bean加载机制(长博文)

其实源码是个好东西,好到让你理解作者的初心和想法是如何一步步实现的,例如spring,我们更习惯于拿来当应用去使用,但适当的去研究下源码的实现就会掌握很多干货。千万言不抵一书,梳理下spring的类加载机制,也是整理自己的思路,拿下边的一个demo作为入口边撸代码边整理,开始:publicstaticvoidmain(String[]args){ @SuppressWarnin...

2018-10-23 16:46:48

Elsticsearch为何搜索速度如此之快?

之前一直在项目中使用elasticsearch,用的是spring-data-elasticsearch。一直在使用却对搜索原理一直不太清楚,最近在网上看了些相关资料,特此总结一下:首先,ES用的是倒排索引,何为倒排索引,我的理解就是将document的id按照field的value汇集起来,下边讲个例子:创建一个index,type=user,document的filed定义为:{_id...

2018-10-16 18:11:01

搜索引擎elastic的一次伟大的尝试

接触elastic,是因为它恰好和需求匹配。我们在六月份的时候决定要做一款伟大的产品,这款产品是基于东哥几年来呕心沥血搜集来的各种基因相关数据库资源以及nlp训练出来的数据。一次公交车的偶遇东哥知道了我在寻求好的机会,问我要不要加入,此刻他已经有了创业的打算。我接到这个需求,前期的框架和安全登陆模块恰好和我去年暑假酷热难耐时期做的电商平台相似,决定复用(可以参照我的技术博客关于平台搭建...

2018-09-14 10:45:04

SpringMVC搭建之总结篇(未完待续)

上周末和朋友一起交流了下SpringMVC框架的搭建,一下午的时候尽量帮助他理解Spring框架的初步搭建,框架构建完毕测试通过,下一步就可以往里边添加项目业务逻辑了。我总结的SpringMVC的搭建分为四步:一、Maven构建项目结构二、pom文件添加SpringMVC的依赖三、配置文件四、添加业务逻辑代码一、Maven构建项目结构maven用来做依赖包管理,...

2018-04-23 20:08:16

计算机网络知识概览

计算机网络是计算机专业的四大特色之一。数据结构,计算机网络,计算机组成原理和操作系统,对于IT从业者来说无论是否为科班出身,这四本教材都应该涉猎一下,其中,数据结构最为重要,然后排第二的自认为就是计算机网络了,尤其是近几年分布式系统的普及,各模块之间通过网络通信变得尤为重要。计算机网络这部分在面试中也常会涉及到,一般面试官都问下网络的分层结构及各层组成。稍微高级些的可能会问下,每一层的协...

2018-03-20 20:08:04

单channel监听RabbitMQ消息队列,多线程处理消息任务的实现

项目上碰到一个java后台实现问题,底层依赖的以前开发团队的rabbitMQ的实现,该底层open了一个channel,并一直保持着对该channel的监听,在这个基础上我需要实现的就是一直监听该channel,并将接受到的消息交给其他线程去处理,保证监听主线程不被阻塞。需求大致是这样的。下面看下我的具体实现:一、主线程监听消息队列,并将接受的消息交给其他线程去处理,并且处理消息的其他线程

2018-02-02 17:44:40

涉及多维度的业务如何落地实现

最近公司的产品系统要重构,但是时间又比较紧迫,所以底层的结构如mongomq的连接操作就直接用之前的jar包了,目前系统采用的maven多module模块模式,最可耻的是webframework是用的play,而且大家也觉得替换spring在短时间内不好实现。所以只好去把paly服务作为module集成到maven中了,这块任务交到我这里那就做吧,相关资料少之又少,通过git源码及联系原作者,终

2018-01-06 16:20:07

JVM的结构及内容分配

这个九月份一直没有更博,因为换了工作大部分时间都在熟悉新业务和python上,今天来更新下,最近上下班及业余时间看jvm比较多,特来总结下自己在jvm方面的心得。javaer去一家新公司常常会安装本地java开发环境,首下载的就是jdk了,jdk是个啥子哦,这里可以拆分下: jdk: 一些工具tool

2017-09-23 17:22:33

SpringBoot MultiPartFile To File 问题

之前在SpringMVC中没有碰到的问题如今在SpringBoot中成了一个问题,害我花了半天搞定。问题再现:截取部分代码publicStringanalyzeFile(MultipartFilefile){if(!file.isEmpty()){StringfilePath=request.getSession().getServlet

2017-08-25 13:05:43

页面表格数据下载到Excel的超实用方法

Excited!当然知道的童鞋不会像我一样兴奋了,今天有个需求是让我把页面表格数据下载到本地Excel,因为application是用springBoot搭建的,我起初想着把table数据submit到后台,在后台用excel的相关package去处理,然后返回前端给用户,但无意间在网上发现了一个不用交给后台handle的方法,那就是在js里处理,原文章链接:使用JavaScript把页面上的表格导

2017-08-18 11:28:00

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。