自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

linfujian1999的博客

每个人都善于学习。学习是人类的本性

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

原创 SpringCloud微服务架构(github项目)

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

2019-02-27 10:52:32 7475 7

原创 我的JAVA之路

趁着周末,泡图书馆写点啥,很庆幸自己养成了写博客的习惯,将某个时间的技术经验记录下来,为自己也为他人将来提供些许的帮助。足矣。想想自己,2015年夏末毕业于某985院校硕士专业,考研对于我大学来说,是找不到理想工作与为了证明自己的一个选择。后来三年的研究生生活确实是我人生的一个转折,这三年中,无奈与理想,感情矛盾与毕业压力,常常在某个时间高频率地让我急躁不安。后来发了一篇一点几的SCI文章毕业。我们

2017-08-13 10:40:45 11146 8

原创 好久不发文了,谈谈技术的学习曲线

2021年薪酬榜,IT又霸榜了

2022-05-22 10:00:32 329

原创 使用Oracle GoldenGate 同步Oracle数据到KAFKA

OGGoracle golden gate(OGG)是可以实时捕获oracle数据库的数据变动日志并将其同步到目标端的中间件。包括安装及配置过程。Oracle配置oracle端需要开启归档日志alter database force logging;alter database add SUPPLEMENTAL log data;查看是否开启成功SQL> select NAME,OPEN_MODE,FORCE_LOGGING,SUPPLEMENTAL_LOG_DATA_MIN from

2020-10-15 11:07:40 867

原创 Flink--实时流处理框架

上图是flink的工作流程首先,flink从source中获取数据,source是流入flink数据的来源,日常对接的source端有kafka,rabbitMQ等消息队列然后,获取到的数据流(dataStream) 按需来进行代码运算最后,将上一步运算的结果数据sink到落地的模块中,模块可以是数据库,也可以是服务(用户预警报警模板)。...

2020-06-02 16:31:49 1047

原创 thinking in Java faster—多态

前面我们大概讲解了Java中的继承,这里有一个很重要的知识点,比如:Class Student extends Person {}Class Worker extends Person {}那么,当基于student或者worker生成对象时,可以写成Person student = new Student()Person worker = new Worker()这里涉及到一个知识点:向上转型,即子类可以把类型向上转为父类。这个点很重要,也是Java如此灵活的一个原因,后边涉及多态再详细展

2020-05-26 08:29:48 202

原创 thinking in Java faster—访问权限控制

废话不多说,直接上关键字,访问权限范围由大到小依次是:1、public 该关键字修饰的方法、类及属性(下边统一称为

2020-05-22 15:25:50 145

原创 thinking in Java faster—继承

组合显式的给当前对象内置一个子对象继承语法何为继承Java的继承Class A extends Class B继承的特性,复用父类的方法,子类里定义新特性子类初始化过程—父类是子类的一个子对象,只不过这个过程是隐式的,构造器概念引入:默认构造器和带参数的构造器代理其实就是一种组合,目的是为了在导出类对象中可控的使用成员对象类,继承的话,父类的所有方法在导出类子类中都可使用,不可控,或许你只想使用父类的部分方法集。spaceship和spacecontrol的继承与代理(组合)组合和继承

2020-05-21 08:23:19 124

原创 Mysql数据库数据实时监控之canal

目前遇到一个需求,是基于mysql某表数据得变动,同步捕获变动的数据,经分析,选择阿里巴巴的canal作为mysql实时监控的中间件。canal github地址流程如下,抄袭的canal官网上的流程canal我们可以选择 server-client模式,这样我们的client,就可以选择自己喜欢的实现方式和业务逻辑去读取server监听到的mysql数据变化了。首先,被监听的mysql需要开启binlog,也就是mysql数据的变化会写道一个二进制的log文件中。定位到mysql的my.cnf配

2020-05-12 14:57:31 1512

原创 机器学习之开篇

机器学习,本质来讲,就是基于大数量的数据,寻找一种规律。然后根据找寻出的规律将未知目标值的数据确认目标值的过程。期间涉及到了数据,算法。近几年由于计算机硬件的升级,大规模计算成为可能,所以机器学习又开始兴起。数据数据是学习的来源,起初你拿到的是一堆陌生的数据,老板可能给你一项任务,目标是在这一堆数据中确认某一项信息,比如,图像识别,给你一堆图片验证码,让你确认验证码里的字符。起初的数据是不合适学习的,需要对其进行处理加工,图片验证码是图片,而且有干扰线的多个字符,那我们需要做的可能是去除干扰线并切割成

2020-05-11 08:12:03 129

原创 后浪时代的我们,该如何自处

最近B站的后浪势头有点意思,最开始被人民日报微博引用,有网友调侃说小破站出息了。但随之而来的是现实生活中后浪们的讽刺与嘲讽,演讲中的后浪们过着父辈前浪们无法企及的精彩人生,尽情追逐自己的爱好,享受着快乐的生活。其实演讲的初衷或许是好的,激励着一代年轻人珍惜当下,敢于尝试和挑战自己。但看完演讲视频,一番心情澎拜过后,回归到现实中的我们又不得不面对现实的残酷,学业的压力,工作的压力,买房还贷的压力,我们也可以活的如视频中那样,但不是持久的,我们没有可以一直这样的资本,我们不得不面对生活的高成本,我觉得这个国家也

2020-05-09 17:18:36 325

原创 thinking in Java faster—学习Java知识点的顺序

学习Java,如果你不是为了快速适应工作,你可以按部就班的根据thinking in Java这部经典书籍的章节顺序来学习,但是我觉得作者可能基于Java语言的知识结构来安排的写作顺序,章节顺序并不适合急于找工作,希望尽快进入编程工作状态的初学者。结合我近五年左右的工作经验,我觉得Java的学习顺序应该是如下图所示操作符及控制执行流程OOP集合对于编程来说,最最基础的就是基本操作符和控制执行...

2020-05-07 17:53:30 145

原创 thinking in Java faster—Class类的剖析

今天来对Class进行一下解剖,看看它内部究竟有什么????。类的外貌Class ATypeName { /** class body **/ }OK,上边这个就是一个class类的第一层结构,Class代表声明了一个类,ATypeName是类的名字,花括号内是这个类的具体声明,主要声明成员变量和成员方法,它们均是类的成员。成员变量和成员方法Class Cat { String co...

2020-04-30 08:05:07 161

原创 面向对象编程,为之奈何

这里借用伟大神的一句话:刚才总结了个想法。学习一个东西到底是应该跟着别人学好还是自学好。我觉得学习一个东西,如果自己还没形成一套该东西的认知框架(通俗点来说就是入门),跟着别人比较好,这样可以少走弯路,初期大面积东西思考不明白也打击信心。但一旦有了自己的思考体系,碰到问题还是先自己尽量解决,因为自己的这个思考过程很有价值,自己想通的和别人告诉你再想通的,绝对不一样。自己想通的能发散思维,能加深理...

2020-04-22 09:52:19 151

原创 thinking in Java faster-数据类型

Java中的基本类型有八种,四类八种。那四类呢,如何记呢,数据嘛,无非就是那么几种,文本型(字符型):byte和char; 数字型,又分整数型(short,int ,long) 和浮点型(float 和 double);还有一种就是布尔值(true or false),这样四类八种就齐活了。记住的要点主要是了解数据的分类,文本型、数字型及布尔型,再依次分析每一种类型下属的基本类型即可。这里要知道的...

2020-04-14 11:50:53 115

原创 新手程序猿如何在工作中解决问题

好多猿类朋友是刚工作或者刚入行不久的程序猿,这个行业的从业人员在外界看来,薪水高,每天做着高大上的编程工作,业务和产品人眼里,他们无所不能,任何需求都可以实现,实现不了那就是你技术不行。服不服,不服也不行,除非你混到高高在上的架构师,CTO或者....我也不知道了。总之只要你是一个像我一样普普通通的小程序员,那你就不得不面临日常惆怅蛋疼地解决问题的问题。其实解决问题的思路相比大家都知晓:你遇到的...

2020-04-13 08:41:08 446

原创 自学Java之—数据结构

废话不多说哦,写这篇软文的时候我尝试用逆向思维去思考我的学习之路。故事回到原点,看到这篇文章的童鞋请自行带入以下场景:你被带入一家加工工厂,你被分配的任务就是生产可以存放特定物品的箱子,这里你拥有了一台机器,可以制造任何你想要制造的箱子,只要你想得到的都可以。这些箱子里需要放什么呢,有三种物品需要存放:一是杂乱无章的玻璃珠,各种颜色,现在需要每种颜色只保留一个放到箱子里,可以随便放,让小孩子从箱子...

2020-03-26 18:11:34 133

原创 图片验证码识别之卷积神经网络CNN

最近新冠肺炎肆虐,已在家办公三周左右,闲来无聊,来写一篇最近用到的卷积神经网络训练模型来识别图片验证码的blog。最近在做一个网络爬虫的项目,爬取官方网站上的信息,需要输入查询内容及图片验证码上边的1-9及A-Z(除去O和I)字符进行验证,验证通过方可获取到返回的数据内容。起初用到了python推荐的tesserocr lib,但识别效率不是很高,因为我需要识别的验证码是倾斜的,并且带有干扰线...

2020-02-22 19:50:43 1243 2

原创 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 187

原创 算法-排序算法

插入排序 /** * 插入排序 * @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 149

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

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

2019-03-08 11:12:43 1699

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

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

2019-03-07 15:31:23 3591 3

原创 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 162

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

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

2019-02-18 11:19:56 704

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

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

2019-01-22 14:30:00 2853 5

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

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

2019-01-21 15:17:42 709

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

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

2019-01-09 18:22:33 334

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

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

2018-10-23 16:46:48 1992

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

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

2018-10-16 18:11:01 1203

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

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

2018-09-14 10:45:04 199

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

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

2018-04-23 20:08:16 318

原创 计算机网络知识概览

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

2018-03-20 20:08:04 294

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

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

2018-02-02 17:44:40 9909 5

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

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

2018-01-06 16:20:07 533

原创 JVM的结构及内容分配

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

2017-09-23 17:22:33 302

原创 SpringBoot MultiPartFile To File 问题

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

2017-08-25 13:05:43 20341 13

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

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

2017-08-18 11:28:00 1554

原创 Form表单的二种提交方式(Spring后台controller处理)

这里总结下form表单的二种常见的提交方式,所用的模块为前端jquery+thymeleaf; 后台Springboot。第一种:提交条转型: 顾名思义,form一旦submit,默认提交表单并跳转thymeleaf页面:<!DOCTYPE HTML><html xmlns:th="http://www.thymeleaf.org"><head> <title>Getting Star

2017-08-18 10:01:16 8210

原创 Java反射---序列化和RMI中的应用

最近在读分布式系统:概念与设计这本书的时候,发现java的reflect果真是一把利器,这里不想细讲反射的用法,主要是想总结下反射应用的设计理念。先看序列化,分布式系统讲到: java中无论是基本类型参数还是对象,都可被序列化,应用上很简单了,对象无非是可能涉及远程传输,它只有实现Serializable接口便可序列化,但底层是如何实现的呢? 比如A应用和B应用不在同一服务器上,

2017-08-10 10:02:16 440 1

原创 DropWizard--轻量级REST开发框架初次搭建

之前用的IDE是spring的STS,这次还是选它; Maven来导入dropwizard及管理项目;这里的例子完全是按照dropwizard官网 入门实例来做的,官网讲的比较详细和规范,建议英文好的童鞋可以不用看这篇,去官网看一下。一、 首先打开我的IDE,并构建maven项目,官网上说了构建的三种可替换方式,我这里用了我自己的构建方式,新建一个maven project,选择 add Arc

2017-08-05 11:35:19 816

空空如也

空空如也

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

TA关注的人

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