- 博客(64)
- 资源 (3)
- 问答 (4)
- 收藏
- 关注
原创 【每天学个新注解】Day 16 Lombok注解简解(十五)—@FieldNameConstants
【代码】【每天学个新注解】Day 16 Lombok注解简解(十五)—@FieldNameConstants。
2024-10-06 01:00:00
252
原创 【每天学个新注解】Day 15 Lombok注解简解(十四)—@UtilityClass、@Helper
将一个类通过注解变成一个工具类,并没有什么用,本来代码中的工具类数量就极为有限,并不能达到减少重复代码的目的。
2024-10-05 01:00:00
313
原创 【每天学个新注解】Day 14 Lombok注解简解(十三)—@onX(onMethod= 、onConstructor= 、onParam=)
设置注解时在注解上增加注解参数,使生成的代码上也带有注解。
2024-10-04 07:24:43
423
原创 【每天学个新注解】Day 13 Lombok注解简解(十二)—@Delegate
编译后:可以很清晰的看出,编译后还是重写了一个同名的方法供委托类调用。
2024-10-03 01:00:00
323
原创 【每天学个新注解】Day 12 Lombok注解简解(十一)—@FieldDefaults(@NonFinal、@PackagePrivate)
编译后:除了age都是final,除了sex都是public。
2024-10-02 04:00:00
245
原创 【每天学个新注解】Day 11 Lombok注解简解(十)—@ExtensionMethod
用于向现有类型(类)中添加方法。通过 @ExtensionMethod 注解,我们可以在不修改现有类的情况下,为该类添加新的方法。
2024-10-01 23:32:53
245
原创 【每天学个新注解】Day 10 Lombok注解简解(九)—@Accessors
在之前的几天,我们系统学习了Lombok的常见注解,并且将其官网stable中的所有注解都讲解了一编,接下来会通过两到三天的时间将Lombok目前正在试验的(experimental)注解简单过一遍,以下为experimental状态的所有注解。
2024-09-30 10:40:20
448
原创 【每天学个新注解】Day 9 Lombok注解简解(八)—@Synchronized、@Locked
当synchronized修饰类属性时,通常用于定义同步代码块,此时需要指定一个锁对象。这个锁对象通常是类的某个私有静态成员变量,因为类属性是静态的,所以锁也应该是静态的,以确保所有访问该属性的线程都使用同一个锁。
2024-09-29 01:00:00
929
原创 【每天学个新注解】Day 8 Lombok注解简解(七)—@Getter(lazy=true)
编译后:生成了带锁的getter方法(所以使用时不需要考虑线程安全,Lombok自动实现)代码运行结果:第一次运行时走了计算方法,其余都是直接取得缓存。
2024-09-28 01:00:00
223
原创 【每天学个新注解】Day 7 Lombok注解简解(六)—@With
编译后:创建出所有属性的with方法,并且访问修饰符为private,另外通过编译后的代码可以看出,with方法依赖有参构造方法,所以@With往往与@AllArgsConstructor共同使用。
2024-09-27 01:00:00
386
原创 【每天学个新注解】Day 6 Lombok注解简解(五)—@SneakyThrows
并不建议日常开发中通过此注解解决异常捕获问题!!!允许方法抛出检查型异常而无需显式声明或捕获这些异常。这对于那些不希望在方法签名中声明异常或不愿意编写复杂的try-catch块的场景非常有用。使用后,方法不再显式声明可能抛出的检查型异常。这会使得调用者在使用该方法时,不清楚具体可能抛出的异常类型,进而影响异常处理的逻辑和代码的可读性。
2024-09-26 01:00:00
508
原创 【每天学个新注解】Day 5 Lombok注解简解(四)—@Cleanup
例1:取自Lombok官网,加在有close的方法的资源上。编译后:自动添加释放了资源所用的shut方法。编译后:自动释放了资源。例2:自定义资源释放。
2024-09-25 01:00:00
281
原创 【每天学个新注解】Day 4 Lombok注解简解(三)—@NonNull
我们在之前的三天学了Lombok常用的注解,下图是Lombok官网中Stable状态的的所有Features,我们还有:@NonNull、@Cleanup、@SneakyThrows、@Synchronized、@Locked、@With、@Getter(lazy=true)没有了解到,接下来会依次简单的介绍上述注解并附上简单的使用。
2024-09-23 23:31:21
463
原创 【每天学个新注解】Day 3 Lombok注解简解(二)—@Log
日志系列注解包括:@CommonsLog、@Flogger、@JBossLog、@Log、@Log4j、@Log4j2、@Slf4j、@XSlf4j、@CustomLog,对应于不同的日志框架。每个注解都会在编译时生成一个名为 log 的静态字段,该字段被初始化为对应的日志框架的 Logger 实例。
2024-09-23 13:24:55
411
原创 【每天学个新注解】Day 2 Lombok注解简解(一)—@Data、@Build、@Value
Builder模式(创建者模式):创建型设计模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,提供一种通过链式方法来创建一个复杂的对象。不可变类的特点是它的状态在对象创建后不能被修改,这在多线程环境中尤其有用。那么创建对象时就可以通过builder静态方法实现。那么创建对象时就可以通过builder静态方法实现。当不设置sex的值时,可以通过默认值取到“未知”。
2024-09-22 20:06:46
414
原创 【每天学个新注解】Day 1 Lombok注解简解(〇)—@Getter、@Setter、@ToString、@EqualsAndHashCode、@Constructor
Lombok一句话介绍:省去很多繁琐的 “样板代码” 编码工作。
2024-09-21 14:12:13
803
原创 【Linux】yum(Yellow dog Updater Modified)使用简介
Linux使用过程中非常重要的命令——yum。大学期间刚开始跟着慕课网上的视频学习Linux的时候下载安装软件总是先下载到Windows上然后上传到虚拟机上,解压后安装报什么错解决什么错,缺什么依赖安装什么依赖。2015年实习开始,第一个任务就是搭建Redis,第一次接触了yum命令,从此除了必要的测试、梳理离线安装步骤以外,剩下的东西都通过yum来安装,一条yum -y install命令解决...
2019-10-24 00:12:41
3787
原创 【MySQL】生成随机手机号、随机时间方法
最近在进行MySQL优化的学习,过程中需要造各种不同类型的数据。目前需要使用到随机手机号以及随机时间的方法,网查查的都不算好用,现依靠网上提供的几种方案整理如下:生成随机手机号我国使用的手机号码为11位,其中每段编码代表含义不同:前3位:网络识别号(运营商代码)4到7位:归属地区代码8到11位:用户代码如有特必须要更改对应的head、content部分即可。CREATE FUNCT...
2019-07-10 11:27:21
4234
原创 【MySQL】基于MySQL的SQL优化(六)——慢查询日志(使用pt_query_digest分析慢查询日志)
慢查询日志配置慢查询日志分析List itempt_query_digestList item
2019-07-07 21:15:21
576
原创 【Drools】Drools使用入门(一)Drools上手教程(包括动态加载规则文件)
Drools简介Drools是一款基于Java的开源规则引擎,将规则与业务代码解耦。规则以脚本的形式存储在一个文件中,使规则的变化不需要修改代码,重新启动机器即可在线上环境中生效。规则引擎实现了业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入、解释业务规则,以及基于业务规则做出业务决策,从而提供极大的编程便利。对系统使用人员来说:将业务规则的创建、修改、...
2019-07-06 14:39:09
38301
11
原创 【MySQL】基于MySQL的SQL优化(〇)——数据准备(Sakila示例数据库)
Sakila示例数据库类似Oracle scott用户下的表一样,MySQL也提供了一个标准模式,可作为书中例子,教程。包含MySQL常见的数据库结构实例,比如:表、视图、存储过程、触发器等等,作为上手MySQL来说是一个非常好的选择。下载路径:https://dev.mysql.com/doc/index-other.html文档路径:https://dev.mysql.com/doc...
2019-06-20 15:15:03
317
原创 【SpringBoot】多线程以及自定义拒绝策略(基于@Async)
一、使用@Async在SpringBoot项目中实现多线程1. 多线程Configuration启动类:import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframew...
2019-05-31 19:26:15
7072
3
原创 【Sonar】Sonar部署、分析代码并导出PDF分析报告(Windows版)
一、Sonar安装与部署所需软件:JDK(1.7以上版本)maven(3.0以上版本)MySQL安装saonar:下载地址:https://www.sonarqube.org/downloads/解压压缩包并前往sonarqube-7.3\bin\windows-x86-64打开StartSonar.bat启动sonar。请求localhost:9000,看到如下页面则启动成功...
2019-05-14 14:45:33
32103
17
原创 【MyBayis】MyBayis详解(3)两级缓存
一级缓存1、什么是一级缓存,为什么使用一级缓存?每当我们使用MyBatis开启一次和数据库的会话,MyBatis会创建出一个SqlSession对象表示一次数据库会话。在对数据库的一次会话中,我们有可能会反复地执行完全相同的查询语句,如果不采取一些措施的话,每一次查询都会查询一次数据库,而我们在极短的时间内做了完全相同的查询,那么它们的结果极有可能完全相同,由于查询一次数据库的代价很大,...
2019-04-18 10:42:44
419
1
原创 【MyBayis】MyBayis详解(2)MyBatis体系结构以及如何执行一条查询(SqlSessionFactory、SqlSession、Mapper)
一、SqlSessionFactory简介:SqlSessionFactory是MyBatis的关键对象,通过SqlSessionFactoryBuilder对象类获得,而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。所有MyBatis的应用程序都以一个SqlSessio...
2019-04-17 11:47:45
965
1
原创 【MyBayis】MyBayis详解(1)ORM
一、什么是ORM?ORM:(Object/Relation Mapping):对象/关系映射它的作用是在关系型数据库和对象之间作一个映射,这样,我们在具体的操作数据库的时候,就不需要再去和复杂的SQL语句打交道,只要像平时操作对象一样操作它就可以了 。为什么要用ORM?以MVC模式举例,MVC 中的 Model 包含了复杂的业务逻辑和数据逻辑,以及数据存取机制(如 JDBC的连接、SQL...
2019-03-13 15:15:03
542
1
原创 【MyBayis】MyBayis详解(0)基于简单查询的部署使用
一、数据准备本示例全部基于MySQL数据库完成,如想直接看代请前往下载即可。需要创建以下几张表:Person表Card表Student表Grade表Groups表Groups表Student_Groups表...
2019-03-10 15:15:09
423
1
原创 【SpringBoot】动态调用双数据源(使用参数实现,解决同名Bean问题)
目前进行公司的一个BOSS项目的开发工作,由于单台Oracle数据库无法满足项目庞大的数据量,数据库开发不想进行去O,也就无法使用MySQL集群解决数据量陡增的问题。数据库开发提出了一个分库的方案,将整个Oracle按数据量分为两个库,同时在一个库的时候各个省份的表也是分离的,如果使用扫描就导致了在Java代码(SpringBoot + Mybatis)里存在同名的Bean,通过目录区分,这样Ma...
2018-08-06 19:29:51
3104
4
原创 【Hive】解决JdbcTemplate远程调用hive报Invalid host name
问题描述:执行带聚合函数的语句时会抛出如下错误:‘java.net.UnknownHostException: Invalid host name: local host is: (unknown); destination host is: "xhw367":8032; java.net.UnknownHostException; For more details see: http://
2018-01-25 14:41:50
2126
原创 【微信】微信开发(3)不要掉进Cookie的坑!
在开发中我遇到了这样一个问题: 线上环境通过多台主机多实例部署,所以要用redis存储统一的session信息,然后通过一个uid为key来区分,当用户通过微信网页鉴权接口(整个接口的交互我写在了action里面)时会给用户分配一个uid然后以此uid为key存储对应session信息。 另外我的页面是通过angularjs实现的,所有的请求都是异步的,本来项目大部分功能已经实现,所以怎
2017-11-30 17:52:07
46886
8
原创 【微信】微信开发(2)微信消息接受与回复
1、简介: 本文以捕捉并回复文本消息以及关注事件为例,介绍微信的消息接受与回复机制; 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上;数据交互模型: 微信消息接受与回复流程图: 2、参数说明: 消息类型 事件类型 3、代码实现: 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL
2017-09-19 11:28:26
730
原创 【Spring】解决SpringTask定时执行两次问题
问题分析: 自己写的小项目在线上出现了定时执行的入库操作被执行两次的问题,一开始以为自己程序实现相关功能的处理逻辑存在问题,查看定时日志的时候发现定时的记录每次都记录了同一(几乎)时间的两条。以前的定时都是用作数据同步数据更新,数据量较小的情况下一直没注意到这一点,这一次的插入操作多了一倍的数据才发现。 定时执行两次后首先检查了配置,但是我的定时是通过注解配置的,所以几乎不可能出错,然后
2017-07-19 10:48:11
1675
原创 【Tomcat】运营监控Psi-Probe的安装与使用
1、从github下载probe.war。地址:https://github.com/psi-probe/psi-probe/releases。下载最新版本3.0.0.RC1 - Requesting community feedback。2、安装将probe.war放到tomcat webapps目录下,然后修改apache-tomcat-8.0.36/conf/下的tomcat-users.x
2017-04-14 10:00:03
11431
1
原创 【Spring】基于c3p0连接池,实现数据库加解密连接MySQL数据库
1、spring连接数据库的xml设置如下: <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="properties"> <bean class="com.asiainfo.yuntie.util.DatasourcePrope
2017-04-12 15:30:00
2732
原创 【Java】MD5工具类,解决中文转MD5不一致问题。
import java.security.MessageDigest;public class MD5Util { /** * * @Title: MD5 * @Description: 根据不同编码进行MD5转换 * @param @param s * @param @param encodingType * @param @return
2017-02-07 11:51:33
3677
原创 【Activiti】跳转到工作流的任意节点(本例用跳转到上一节点讲解即流程回退)
所有用到的service以及实现类都是工作流(Activiti)本身的。public String taskRollback(String taskId){ //根据当前任务ID获取当前任务 HistoricTaskInstance currTask = historyService .createHistoricTaskInstanceQuery()
2017-01-03 10:19:17
20984
15
原创 【uploadify】使用Uploadify+SpringMVC实现不用From文件页面无刷上传
1、uploadify官网下载jquery.uploadify.min.js 网址http://www.uploadify.com/下载最新版本的uploadify 文件目录如下图: 1:min.js文件; 2:取消上传用的X号图片; 3:样式css,可以实现下图样式: 4:swf文件。2、JSP页面<%@ page language="j
2016-11-17 11:53:16
1384
原创 【MySQL】基于MySQL的SQL优化(五)——建立索引优化SQL
选择合适的列建立索引 a:在WHERE从句、GROUP BY从句、ORDER BY从句、ON从句中出现的列。 b:索引的字段越小越好。 c:当表的列非常少,列的字段也非常小时,可以建立覆盖索引优化整个表(覆盖索引:为整个表的所有列建立索引)。 d:建立联合索引时,将离散度大的列放到联合索引的前面。 ( 联合索引:CREATE INDEX index_name ON table_name
2016-10-21 12:13:02
601
原创 【MySQL】基于MySQL的SQL优化(四)——对group by以及limit的优化
group by:通过下面一条 语句来了解有关group by的优化。SELECT a.first_name,a.last_name,COUNT(*) FROM film_actor fa INNER JOIN actor a USING(actor_id) GROUP BY fa.actor_id; 如图,这条SQL语句在执行时使用到了临时表(temporary)并用到了文件排序(filesor
2016-10-19 17:23:49
4857
原创 【MySQL】基于MySQL的SQL优化(三)——对子查询进行优化
通常情况下,需要把子查询优化成JOIN查询。 这是一个实现查询演员名为“sandra”的表演影片片名的SQL,通过EXPLAIN关键字进行解析,这个查询中包含三个子查询,并且出现了两次ALL全表扫描的查询,需要优化。下面我们把所涉及的子查询进行JOIN形式的改写。 或者用WHERE的形式进行优化。 如图,从EXPLAIN的解析上来看查询已经进行了非常大的优化提升,不仅减少了
2016-10-19 13:57:04
1714
jdbc连接hive查询报错:local host is: (unknown);
2018-01-24
微信支付返回get_brand_wcpay_request:fail
2017-02-10
SQL实现根据某个字段不同的数据,,给其他字段添加不同的别名。
2016-03-06
HTML标签中定义大量的id到底有什么缺点
2016-01-14
TA创建的收藏夹 TA关注的收藏夹
TA关注的人