- 博客(262)
- 资源 (17)
- 收藏
- 关注
原创 作为项目经理,怎么code review
使用工具编码规约扫描代码复杂度掌握了这些工具,你就基本可以做到 90%的代码review;之后就可以对代码模块上的实现来做review;通常都是实现的方式方法来修改了。
2021-10-11 11:19:26 323
原创 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 369
原创 java开发5年,怎么跳出每天业务层的CRUD;
java开发也已经接近五年了,工作99%以上都是在处理复杂的业务关系,基本上也就是在处理CRUD。如果再加上单机版的应用,如果这样一直的持续下去,我想,这样的一个开发者会慢慢落伍的。因为没有硬技能的提升,慢慢的被社会边缘化... 虽然说,技术是服务于产品、需求的,但是技术也能为产品、需求提供更大的想象空间,没有技术作基石,就没有产品,没有需求。 那么,作为五年左右的开发伙伴们,怎么才能跳出日常业务的CRUD呢? 1. 首先要熟练于每天的CRUD,从每天繁琐单一的CRUD中总...
2021-01-21 16:35:59 579
原创 区块链是什么?
区块链是近两年比较热的话题,在圈外,他的名气已经盖过了大数据,人工智能等技术科技热点。 区块链是什么? 说到区块链,我们就直接联系到了比特币。区块链是比特币的底层技术,比特币是区块链技术成功的一次技术实践。 既然比特币和区块链之间的关系这么紧密,那我们不妨先谈一谈比特币,剖析比特币的技术,我们就可以更好的了解区块链。 比特币白皮书是中本聪2008年提出来,然后比特币的第一个创世是中本聪于2009年1月3号由挪威一台服务器上被挖出,共计50枚比特币...
2021-01-19 11:13:16 204
原创 java工作4.5年经验总结(技术/职场/生活)
2016年春天,面对毕业就是失业的困扰,选择了达内IT培训机构。当时还有点理想主义的我,选择了学习大数据,经过了解,学习大数据之前要学习java三个月,于是我花费了1.98w选择了大数据学习。因为没有计算机编程基础的我,学习起来很吃力。在培训的后期,我放弃了学习大数据,只把java学的摸棱两可然后就去工作了。 首先进入了一家小型的外包公司,是项目外包,开始的时候,技术方面只是停留在理论上,但是写起代码的时候,非常的困难。对业务理解其实很简单,但是具体的技术实现却非常困难,没有具体做技术工作...
2021-01-07 16:30:40 438 1
原创 Spring的事务管理
Spring事务管理方式有两种,1)声明式事务管理;2)注解式事务管理;事务管理的三个核心接口是: PlatformTransactionManagement Transactional Transactions---------------------------------------------------------------------------------经过以上文章的学习和了解,我们对Spring生态有了基本的了解和应用。但实际中,在我们项目开发中,真正用到Spring不足
2021-01-06 15:57:26 160
原创 SpringAOP简介
Spring AOP是面向对象变成的意思,AOP和OOP都是一种编程思想。在Spring框架中使用AOP编程,可以减少冗余代码,并解耦业务代码之间的过度的依赖关系。通常我们会应用在系统的监控,日志处理。把业务代码中共同使用的模块抽离处理封装成一个模块,这个模块就叫做切面,简化代码。AOP使用了java设计模式中的代理模式。...
2021-01-06 10:31:25 568
原创 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 330
原创 Spring Bean的生命周期
Spring Bean的生命周期是Spring架构的核心,如果注释是singleTon则Spring Bean由Spring 的IOC容器缓存来管理Bean的生命周期,如果是prototype,Bean则由调用者管理其生命周期。
2021-01-06 09:27:25 164
原创 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 195
原创 Spring Bean的配置及常用属性
Spring的依赖注入(控制反转)更改了以前的编程习惯,让Spring对组件对象的写法更为简单灵活,也方便解耦。SpringBean的配置文件主要有两种xml和properties。Spring默认的注入模式为singleton(单例模式)...
2021-01-04 14:35:11 170
原创 Spring DI(依赖注入)的实现方式:属性注入和构造注入
其实Spring的DI和IOC是对同一事务(spring实例化Bean)不同维度的同一个意思的说法。我们通常在项目中对对象的处理都是对调用对象的实例化(new一个调用对象),但是依赖注入(控制反转)把对象的处理交给了Spring容器来处理,节省了开发者业务代码的繁琐处理。通常,Spring中有两种注入方式:get/set注入和构造器注入。...
2021-01-04 14:01:05 210
原创 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 159
原创 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 259
原创 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 1656 3
原创 公司将所有架构都封装了,自己怎么办
公司将所有架构都封装了,使用者只需要加上配置或者注解,就可以轻松使用,然后通过可视化的web端,查看自己的数据信息。这对于公司而言,是提高生产率的工具和手段,但是对于个人的发展而言,却是毁灭性的打击,因为有了简单的工具之后,你只会简单的使用复杂的技术,丧失了对技术底层的研究和学习。...
2020-12-30 13:19:31 852 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 4405
原创 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 751
原创 根据出生日期获取年龄
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 296
原创 距离截止日期还有多长时间
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 685
原创 某个时间距离当前时间间隔
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 564
原创 获取最近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 268
原创 获取指定年月的第一天和最后一天
/** * 获取指定年月的第一天 * @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 1195
原创 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 800
原创 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 1419
原创 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 220
原创 Echart制作饼图
<table class="gridtable_1" border="0" cellspacing="0" cellpadding="0" > <tr> <!--<samp>日期区间 xxxx年01月-xxxx年当前月</samp>--> <td>
2020-09-11 15:53:27 264
原创 计算两个日期相差天数(除去一天中固定的时间段)
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 675
原创 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 398
原创 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 5647
原创 计算一年有几天
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 303
原创 计算两个日期相差天数
/** * 计算两个日期相差天数 * * @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 661
原创 获取最近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 392
原创 人生的终极问题到底是什么
我在长大的过程中,听说人生的终极问题是:我是谁?与之相关的问题还有两个:我从何而来? 我要去向何方?后来,我发现这些并不是最重要的问题,因为 “未来的我究竟是谁” 取决于我今天做了什么、过去做了什么...... 换言之,“我”并不是一个固定的、 一成不变的存在,因此,琢磨 “我是谁” 很可能完全是徒劳的。但是,有一天,我发现了一个更有意义的终极问题:什么更重要?事实上,你可能早就注意到了,在这本书里全部都是思考 “什么更重要” 的范例。因为在我的体系里,“什么更重要
2020-06-23 16:05:01 784
原创 前言篇(二)——区块链行业拆解
承接上一节课的话题,我们今天来拆解一下区块链行业。我们先做第一步拆解,把区块链行业拆解成技术层和应用层两部分。技术层,就是区块链的技术部分,包括算法、代码等知识层面的东西;应用层,就是区块链在那些行业里用,解决了什么问题,收获了什么价值。我们要先确立一下技术层和应用层的关系,这里我下这么一个结论:技术是推动行业发展的动力,应用给行业指明了发展方向;技术为应用服务,而不是相反。这个道理听上去浅显易懂,可实践起来往往走样。区块链行业中的第一批从业者是技术极客。这些技术专家做事容易陷入因为自己是榔头所以看啥
2020-06-04 15:56:42 941
原创 前言篇(一)——为什么做这个课程
一直有听众朋友反映:学习区块链行业太难了,有没有好的教程?我一直的回答是:没有。我去翻过市面上能找到的各种区块链教程,确实没找到能让我满意的可以向粉丝推荐的。这些教程可以分为几种:第一种教程是程序员写的,满篇的技术和代码。这类教程专业性很强,却对大多数人没用,大部分人进入这个行业是来找机会的,不是来敲代码的。第二类教程是职业写手写的,基本上是各种网文的拼凑。写书的人本身对于区块链技术和行业缺乏了解,所以书里会出现矛盾的观点,老掉牙的案例,整个知识体系散乱缺乏框架。从我个人入行的经验来看,区块链这个行
2020-06-04 15:54:12 315
原创 程序员--我们聊聊
回顾以前,架构!三层架构–MVC架构–>解耦开发框架Spring IOC/AOPspring概念—框架,(IOC)容器,解决复杂性问题(EJB)—配置文件SpringBoot spring的升级版新一代javaEE 的开发标准,开箱即用,拿过来就可以用自动配置特性:约定大于配置!---------越来越大,越来越多,越来越复杂 微服务---...
2020-03-26 10:30:47 257
原创 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 1780
datasource.rar
2019-10-16
微服务架构与实践 -王磊
2019-03-28
java读取excel文件
2019-03-12
人脸识别--opencv-java代码实现
2019-02-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人