自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(262)
  • 资源 (17)
  • 收藏
  • 关注

原创 作为项目经理,怎么code review

使用工具编码规约扫描代码复杂度掌握了这些工具,你就基本可以做到 90%的代码review;之后就可以对代码模块上的实现来做review;通常都是实现的方式方法来修改了。

2021-10-11 11:19:26 311

原创 5年Java开发面试被打脸

哎,啥也不说了;就说面试的时候问我的面试题吧:1.spring怎么解决依赖循环2. SpringCloud有几大组件3. SpringCloud负载均衡Ribbon/Feign使用的算法4. java种的反射5. 高并发,多线程;6. redis应用场景,redis持久化7. kafka应用场景;zookeeper节点选举策略;8. 分布式你会吗?...

2021-03-17 17:09:14 357

原创 java开发5年,怎么跳出每天业务层的CRUD;

java开发也已经接近五年了,工作99%以上都是在处理复杂的业务关系,基本上也就是在处理CRUD。如果再加上单机版的应用,如果这样一直的持续下去,我想,这样的一个开发者会慢慢落伍的。因为没有硬技能的提升,慢慢的被社会边缘化... 虽然说,技术是服务于产品、需求的,但是技术也能为产品、需求提供更大的想象空间,没有技术作基石,就没有产品,没有需求。 那么,作为五年左右的开发伙伴们,怎么才能跳出日常业务的CRUD呢? 1. 首先要熟练于每天的CRUD,从每天繁琐单一的CRUD中总...

2021-01-21 16:35:59 567

原创 区块链是什么?

区块链是近两年比较热的话题,在圈外,他的名气已经盖过了大数据,人工智能等技术科技热点。 区块链是什么? 说到区块链,我们就直接联系到了比特币。区块链是比特币的底层技术,比特币是区块链技术成功的一次技术实践。 既然比特币和区块链之间的关系这么紧密,那我们不妨先谈一谈比特币,剖析比特币的技术,我们就可以更好的了解区块链。 比特币白皮书是中本聪2008年提出来,然后比特币的第一个创世是中本聪于2009年1月3号由挪威一台服务器上被挖出,共计50枚比特币...

2021-01-19 11:13:16 194

原创 java工作4.5年经验总结(技术/职场/生活)

2016年春天,面对毕业就是失业的困扰,选择了达内IT培训机构。当时还有点理想主义的我,选择了学习大数据,经过了解,学习大数据之前要学习java三个月,于是我花费了1.98w选择了大数据学习。因为没有计算机编程基础的我,学习起来很吃力。在培训的后期,我放弃了学习大数据,只把java学的摸棱两可然后就去工作了。 首先进入了一家小型的外包公司,是项目外包,开始的时候,技术方面只是停留在理论上,但是写起代码的时候,非常的困难。对业务理解其实很简单,但是具体的技术实现却非常困难,没有具体做技术工作...

2021-01-07 16:30:40 426 1

原创 Spring的事务管理

Spring事务管理方式有两种,1)声明式事务管理;2)注解式事务管理;事务管理的三个核心接口是: PlatformTransactionManagement Transactional Transactions---------------------------------------------------------------------------------经过以上文章的学习和了解,我们对Spring生态有了基本的了解和应用。但实际中,在我们项目开发中,真正用到Spring不足

2021-01-06 15:57:26 150

原创 SpringAOP简介

Spring AOP是面向对象变成的意思,AOP和OOP都是一种编程思想。在Spring框架中使用AOP编程,可以减少冗余代码,并解耦业务代码之间的过度的依赖关系。通常我们会应用在系统的监控,日志处理。把业务代码中共同使用的模块抽离处理封装成一个模块,这个模块就叫做切面,简化代码。AOP使用了java设计模式中的代理模式。...

2021-01-06 10:31:25 561

原创 Spring基于xml和Annotation装配Bean

Spring基于xml和annotation装配Bean,装配,其实也就是注入的意思。 xml装配Bean方便简洁,但是当Bean多的时候,不方便管理,容易造成代码混乱。 Annotation装配Bean有以下几种 @Componet/@Controller/@Service/@Repository/@Autowired/@Resource 其中@Autowired和@Resource异同点就是@Autowired是按照Bean的类型注入,而@Resource是按...

2021-01-06 09:57:00 325

原创 Spring Bean的生命周期

Spring Bean的生命周期是Spring架构的核心,如果注释是singleTon则Spring Bean由Spring 的IOC容器缓存来管理Bean的生命周期,如果是prototype,Bean则由调用者管理其生命周期。

2021-01-06 09:27:25 152

原创 Spring中Bean的作用域

Spring中Bean的实例化有两种方式,上一篇文章中我们讲过了。Spring中Bean的作用域种类有大约五种,但是常用的有两种SingleTon和prototypeSingleTon是Spring中创建Bean的默认方式,也即单例模式;比如:@Testpublic void test() {// 定义Spring配置文件路径String xmlPath = "com/mengma/scope/applicationContext.xml";// 初始化Spring容器,加载配

2021-01-05 11:24:15 186

原创 Spring Bean的配置及常用属性

Spring的依赖注入(控制反转)更改了以前的编程习惯,让Spring对组件对象的写法更为简单灵活,也方便解耦。SpringBean的配置文件主要有两种xml和properties。Spring默认的注入模式为singleton(单例模式)...

2021-01-04 14:35:11 160

原创 Spring DI(依赖注入)的实现方式:属性注入和构造注入

其实Spring的DI和IOC是对同一事务(spring实例化Bean)不同维度的同一个意思的说法。我们通常在项目中对对象的处理都是对调用对象的实例化(new一个调用对象),但是依赖注入(控制反转)把对象的处理交给了Spring容器来处理,节省了开发者业务代码的繁琐处理。通常,Spring中有两种注入方式:get/set注入和构造器注入。...

2021-01-04 14:01:05 199

原创 Spring IoC容器:BeanFactory和ApplicationContext

上一篇文章中就简单描述过Spring IOC,BeanFactroy和ApplicationContext是IOC容器的两个方式,IOC是一种思想(控制反转),一个原本是由开发者new Object的,但是Spring通过容器,来管理Bean,这样就省去了很多繁琐的管理。Spring 通过IOC注入方式如下:BeanFactory beanFactory = new XmlBeanFactory(xmlLocalPath);ApplicationContext applicationCon.

2021-01-04 13:21:08 150

原创 Spring体系结构详解

Spring结构图如下从图中我们可以了解到Spring是由以下几个组件组成的 ORM/WEB/CORE/TEST/AOPData Access/Integration:ORM集成JDBC/HibernateJMS消息Core Container 核心容器:Beans:SpringBean,工厂模式建立的SpringBean,CORE: DI和IOCWeb:整合Servlet,WebSocket...

2020-12-31 09:57:03 248

原创 Spring是什么?

Spring,春天的意思,寓意万物的黄金时节。Spring是一款免费的开源Web框架,它的核心是IOC(控制反转)和DI(依赖注入),以及AOP(面向切面编程—应用于项目的性能监控,以及异常处理等等)Spring以灵活的特性,几乎可以兼容整合所有框架,它也完全展现了Java的23种设计模式和java的三大特性(封装,继承,多态)。之后出现的比较流行的web框架,如:SpringMVC,SpringBoot,SpringCloud,以及整合的SSH,SSM等web项目,无一不用到了Spring作为

2020-12-30 14:23:09 1633 3

原创 公司将所有架构都封装了,自己怎么办

公司将所有架构都封装了,使用者只需要加上配置或者注解,就可以轻松使用,然后通过可视化的web端,查看自己的数据信息。这对于公司而言,是提高生产率的工具和手段,但是对于个人的发展而言,却是毁灭性的打击,因为有了简单的工具之后,你只会简单的使用复杂的技术,丧失了对技术底层的研究和学习。...

2020-12-30 13:19:31 841 2

原创 Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or cli

Cause: com.mysql.cj.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request1、配置jdbc超时时间,适当增大2、优化SQL,给关联字段增加索引

2020-12-28 15:10:08 4352

原创 2020-12-27—java语言特性

封装继承多态——重写

2020-12-27 22:10:59 144

原创 java计算日期+1天

public static Date DateAddOneDay(Date sDate) throws ParseException { /*SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date sDate = sdf.parse(endDate);*/ Calendar c = Calendar.getInstance(); c.setTime(sDate); c.add(Calendar.

2020-10-20 15:32:11 741

原创 根据出生日期获取年龄

public static int getAgeByBirthday(Date birthday) { Calendar cal = Calendar.getInstance(); if (cal.before(birthday)) { throw new IllegalArgumentException( "你还没出生呢"); } int yearNow = cal.get(Calendar.YEAR); cal.

2020-10-10 10:37:10 290

原创 距离截止日期还有多长时间

public static String fromDeadline(Date date) { long deadline = date.getTime() / 1000; long now = (new Date().getTime()) / 1000; long remain = deadline - now; if (remain <= ONE_HOUR) { return "" + remain / ONE_MINUTE + "分钟"; .

2020-10-10 10:17:05 675

原创 某个时间距离当前时间间隔

public static String fromNow(Date date) { StringBuffer sb = new StringBuffer(); long l = new Date().getTime() - date.getTime(); long day = l / (24 * 60 * 60 * 1000); long hour = (l / (60 * 60 * 1000) - day * 24); long min = ((l / (60 *.

2020-10-10 10:12:36 556

原创 获取最近12个月份

public static String[] getLast12Months() { String[] last12Months = new String[12]; Calendar cal = Calendar.getInstance(); //要先+1,才能把本月的算进去 cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1); // 加此行,否则3月重复 cal.set(Calendar.DATE, 1.

2020-10-09 15:53:28 262

原创 获取指定年月的第一天和最后一天

/** * 获取指定年月的第一天 * @param year * @param month * @return */public static String getFirstDayOfMonth1(int year, int month) { Calendar cal = Calendar.getInstance(); //设置年份 cal.set(Calendar.YEAR, year); //设置月份 cal.set(Calendar.MONTH, .

2020-10-09 15:48:40 1179

原创 软件设计师2020考试大纲

软件设计师2020考试大纲

2020-09-27 10:11:19 677

原创 Java的Http的get请求工具类

/** * http get方法 * * @param url 地址 * @return String 结果 */ public static String get(String url) throws Exception { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpGet httpGet = new HttpGet(ur..

2020-09-16 13:38:11 792

原创 Java实体对象的POST请求

public static String post(JSONObject json, String url) { String result = ""; HttpPost post = new HttpPost(url); try { CloseableHttpClient httpClient = HttpClients.createDefault(); post.setHeader("Content-Typ

2020-09-16 13:33:16 1405

原创 Illegal mix of collations (uft8mb4_general_ci,CERCIBLE) and(latinl_swedish_ci.NUMERIC) for operation

and #{endTime} >= q.start_time出现以上错误将sql更改为and #{endTime} <![CDATA[ >= ]]> q.start_time

2020-09-11 16:04:09 212

原创 Echart制作饼图

<table class="gridtable_1" border="0" cellspacing="0" cellpadding="0" > <tr> <!--<samp>日期区间 xxxx年01月-xxxx年当前月</samp>--> <td>

2020-09-11 15:53:27 258

原创 计算两个日期相差天数(除去一天中固定的时间段)

public static void main(String[] args) throws ParseException {//System.out.println(getDate(DatetimeUtils.transferLongToDate(DEFAULT_DATE_TIME_FORMAT, null)));//Date a = DateToStringBeginOrEnd(new Date(),false);//System.out.println(a);String start = “20

2020-09-11 15:48:39 665

原创 js+html+java上传下载文件

<div> <div> <legend class="search_legend" style="font-size: 14px"><strong>附件 </strong></legend> <input ng-model="txtFoo" type

2020-07-29 14:12:37 389

原创 Http 带token的请求

package com.zto.guaranteedoor.utils;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputS.

2020-06-24 10:30:35 5626

原创 计算一年有几天

public static Long getYearDays(int year) { Long day = 0L; for (int i = 1; i <= 12; i++) { Long days = 0L; if (i != 2) { switch (i) { case 1: case 3: case 5: .

2020-06-23 17:45:35 298

原创 计算两个日期相差天数

/** * 计算两个日期相差天数 * * @param date1 * @param date2 * @return */public static Integer getDaysDifference(Date date1, Date date2) { SimpleDateFormat timeFormat = new SimpleDateFormat("yyyy-MM-dd,HH:mm:ss"); long t1 = 0L; long t2 = 0L; tr.

2020-06-23 17:41:08 646

原创 获取最近12个月,经常用于统计图表的X轴

/** * 获取最近12个月,经常用于统计图表的X轴 */public static String[] getLast12Months() { String[] last12Months = new String[12]; Calendar cal = Calendar.getInstance(); //要先+1,才能把本月的算进去 cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1); // 加此行,否则3.

2020-06-23 17:33:02 385

原创 人生的终极问题到底是什么

我在长大的过程中,听说人生的终极问题是:我是谁?与之相关的问题还有两个:我从何而来? 我要去向何方?后来,我发现这些并不是最重要的问题,因为 “未来的我究竟是谁” 取决于我今天做了什么、过去做了什么...... 换言之,“我”并不是一个固定的、 一成不变的存在,因此,琢磨 “我是谁” 很可能完全是徒劳的。但是,有一天,我发现了一个更有意义的终极问题:什么更重要?事实上,你可能早就注意到了,在这本书里全部都是思考 “什么更重要” 的范例。因为在我的体系里,“什么更重要

2020-06-23 16:05:01 767

原创 前言篇(二)——区块链行业拆解

承接上一节课的话题,我们今天来拆解一下区块链行业。我们先做第一步拆解,把区块链行业拆解成技术层和应用层两部分。技术层,就是区块链的技术部分,包括算法、代码等知识层面的东西;应用层,就是区块链在那些行业里用,解决了什么问题,收获了什么价值。我们要先确立一下技术层和应用层的关系,这里我下这么一个结论:技术是推动行业发展的动力,应用给行业指明了发展方向;技术为应用服务,而不是相反。这个道理听上去浅显易懂,可实践起来往往走样。区块链行业中的第一批从业者是技术极客。这些技术专家做事容易陷入因为自己是榔头所以看啥

2020-06-04 15:56:42 918

原创 前言篇(一)——为什么做这个课程

一直有听众朋友反映:学习区块链行业太难了,有没有好的教程?我一直的回答是:没有。我去翻过市面上能找到的各种区块链教程,确实没找到能让我满意的可以向粉丝推荐的。这些教程可以分为几种:第一种教程是程序员写的,满篇的技术和代码。这类教程专业性很强,却对大多数人没用,大部分人进入这个行业是来找机会的,不是来敲代码的。第二类教程是职业写手写的,基本上是各种网文的拼凑。写书的人本身对于区块链技术和行业缺乏了解,所以书里会出现矛盾的观点,老掉牙的案例,整个知识体系散乱缺乏框架。从我个人入行的经验来看,区块链这个行

2020-06-04 15:54:12 305

原创 程序员--我们聊聊

回顾以前,架构!三层架构–MVC架构–>解耦开发框架Spring IOC/AOPspring概念—框架,(IOC)容器,解决复杂性问题(EJB)—配置文件SpringBoot spring的升级版新一代javaEE 的开发标准,开箱即用,拿过来就可以用自动配置特性:约定大于配置!---------越来越大,越来越多,越来越复杂 微服务---...

2020-03-26 10:30:47 245

原创 net.sf.json-lib:json-lib:2.4 依赖报错

出现上述这种错误就是JAR没有引入进来这时候发现是因为JDK版本的问题,所以需要在加一句 <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4<...

2020-03-19 14:24:37 1761

ocr-tools.rar

OCR识别,使用java语言,实现图片、截图文本的识别,包括特殊符号。有swing界面化处理工具,简单、实用,一目了然

2019-12-16

datasource.rar

springboot多数据源配置-使用druid配置多数据源,简单直接加入项目运行--基本配置说明参考 https://blog.csdn.net/Samurai77/article/details/102582102

2019-10-16

使用springboot + JPA / MyBatis 实现多数据源动态切换

使用springboot + JPA / MyBatis 实现多数据源动态切换

2019-04-17

Lucence并行索引图片文件

lucence并行索引需要Lucence-core-5.2.1版本,可以根据需要调试并行的线程数量

2019-04-09

活体检测摇头点头企业版效果测试

活体检测摇头点头企业版效果测试,根据说明,测试物体是否为生物特性

2019-04-07

微服务架构与实践 -王磊

随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建第一个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。 本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。

2019-03-28

将图片等分N*N份

根据方法Image.getSubimage(x,y,width,height),裁剪图片

2019-03-26

获取视频轮廓

获取视频轮廓-用java.awt(包含用于创建用户界面和绘制图形图像的所有分类)

2019-03-26

软件设计师第五版带书签pdf+2019考试大纲+历年真题精讲

软件设计师第五版带书签pdf+2019考试大纲+历年真题精讲

2019-03-24

OCR-CPP4.0

使用OCR-CPP4.0技术,实现对图文识别功能(中英文)。直接打开.exe即可实现对当前路径下的文字的识别

2019-03-19

java读取excel文件

java读取excel文件需要的jar是 poi-3.14.jar poi-ooxml-3.14.jar poi-ooxml-schemas-3.14.jar xmlbeans-2.6.0.jar

2019-03-12

人脸识别文件

人脸识别所需要的.xml文件,可以精确识别人脸,增加颗粒度

2019-03-08

汇率同步,实现主要国际货币的汇率数据

汇率同步,可以实时获取国际主要币种的汇率,提供数据解析等功能

2019-03-08

OCR-合合科技--

ocr用java代码实现,使用合合科技API接口,识别度和识别精度高达90%以上

2019-03-07

RCUtil+FileUtil

Java调用python需要的工具类比如,opencv,ffmpeg

2019-03-07

摄像机实时捕捉人脸+本地图片识别-Python3.6+OpenCV3.2识别

摄像机实时捕捉人脸+本地图片识别-Python3.6+OpenCV3.2识别

2019-03-06

人脸识别--opencv-java代码实现

opencv比较常用于人脸检测,但识别率不高。这里需要在本机上安装OpenCV,并且下载依赖包 opencv-2413.jar/stormcv-0.7.2.jar

2019-02-27

空空如也

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

TA关注的人

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