- 博客(37)
- 资源 (2)
- 收藏
- 关注
翻译 第一条:考虑使用静态方法替代构造器
The traditional way for a class to allow a client to obtain an instance is to provide a public consructor.There is another technique that should be a part of every programmer's toolkit.A class can pro...
2019-06-22 18:59:16
614
1
原创 Java的类加载
1.在Java中,类型的加载、连接初始化过程都是在运行期间完成的。这样做的缺点时增加了一部分的性能开销,但也有很多的优点,比如高度的灵活性,动态加载、动态连接,运行时绑定(面向接口)等。2.类加载的时机(未被初始化过时)接到new,getstatic,putstatic,invokestatic指令时 反射调用 初始化子类时,若父类未被初始化过,则会优先初始化父类。 执行main()...
2019-06-22 13:06:56
242
翻译 Effective Java(前言)
If a colleague were to say to you,"Spouse of me this night today manufactures the unusual meal in a home. You will join?"three things would likely corss your mind: third,that you had been invited to d...
2019-06-09 15:19:33
304
翻译 所有好的软件代码的6个共同点
本文翻译自javaworld.com,英文原文链接https://www.javaworld.com/article/2986341/6-things-all-good-software-code-has-in-common.html?upd=1556447989020现在世界上有很多很多的代码;让人惊讶的是,仅仅谷歌自己的存储库中就有超过20亿行代码。但是并不是所有的代码都是以相同的方式创建...
2019-05-12 14:20:20
502
翻译 什么是JDK?java开发组件(Java Development Kit)介绍
本文翻译自javaworld,英文原文链接https://www.javaworld.com/article/3296360/what-is-the-jdk-introduction-to-the-java-development-kit.html简单介绍JDK是Java开发中用到的三个核心技术包之一,其他两个是JRE和JVM。理解三者之间的区别与联系是非常重要的。JVM是执行java...
2019-04-28 18:24:35
3011
翻译 什么是JVM?Java虚拟机介绍
本文翻译自javaworld,英文原文链接https://www.javaworld.com/article/3272244/what-is-the-jvm-introducing-the-java-virtual-machine.htmlJava虚拟机的使用和定义Java虚拟机有两个主要功能:允许Java程序在任何设备和操作系统上运行("Write once,run anywhere"-...
2019-04-21 15:16:00
1835
原创 http GET请求方式传递数组参数
异常:java.lang.IllegalArgumentException: Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC 3986原因:get请求方式传参时,需要传递数组参数,http://localhost:8080/test?st...
2019-03-10 14:24:21
14265
2
原创 spring data jpa 操作视图
1.场景: 在项目中遇到一个设计多张表复杂查询时,为了不想使用JDBC直接创建sql语句查询2.用法:手动写出查询sql语句,在数据库中创建对应视图 在代码中创建对应实体类,直接当作普通的实体对应表一样操作。...
2019-03-10 14:23:06
3508
原创 JDK动态代理
1.使用ProxyGenerator去构建动态代理类的字节码文件时,发现org.sun.misc包下并没有ProxyGenerator类解决:手动创建ProxyGenerator类package com.aku.proxy.jdk;/* * Copyright 1999-2005 Sun Microsystems, Inc. All Rights Reserved. * DO ...
2019-03-02 18:28:24
650
原创 spring源码环境搭建异常
从github上下载spring源码到本地,下载gradle之后使用"gradle cleanIdea eclipse"命令,将spring源码转换成可以导入到eclipse的工程。在导入spring-core和spring-jcl目录后,提示缺少pring-cglib-repack-3.2.0.jar和spring-objenesis-repack-2.2.jar两个jar包。 ...
2019-02-19 15:40:40
504
原创 js 浮点数精度问题
场景:在使用postman写js测试脚本时,项目中BigDecimal类型数据通过接口获取后,在脚本中经过计算后失去了经度。 解决:使用js中的 toFixed(m)方法设置经度,m位小数点后的位数。 --- 使用 `==` 判断浮点数是否相等...
2019-01-19 13:29:35
260
原创 java 中BigDecimal精度问题
异常:java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result. 解决:在进行除法运算时,要设置精度和舍入方式。 BigDecimal a = BigDecimal.valueOf(1);BigDecimal c = BigDec...
2019-01-19 13:28:23
454
原创 项目中的数据校验问题
1.在向数据库插入数据时,对数据进行校验,确保数据正确性。2.如果在项目中使用的数据时从数据库取出的数据,并且数据是错误的,则是代码出现了问题,要往上排查,要在源头处(也就是向数据库插入数据时)切断错误。...
2019-01-19 13:27:19
654
原创 spring schedule 定时任务
场景:在实际项目中,定时任务的应用非常广泛,比如一些视频网站,购买会员后,每天会给会员送成长值,每个月会送电影卷;比如定时生成报表、邮件;比如一些定时清理数据的任务。用法:spring的定时任务用起来非常简单,下面主要说在spring boot项目中的用法。1.首先我们要在启动类上添加@EnableScheduling,去开启定时任务。2.接着我们要在需要定时执行的方法上,添加@Sch...
2018-11-03 13:40:10
284
原创 spring 注入静态成员变量
场景:在工具类中,有时候我们需要给静态成员变量注入值,而静态成员变量实在类加载的时候加载的。我们通常有两种方法去实现:1:使用set函数注入@Componentpublic Class LogUtil { private static LogStampService logStampService; @Autowired public void s...
2018-11-03 13:13:22
540
原创 项目实用技巧
在从数据库批量获取数据时,要尽量返回一个不可更改的数据集,防止数据被随意更改。我们可以使用Collections工具类中的unmidifiable方法,根据具体类型返回。在实体类中我们可以使用add方法替代set方法为集合赋值,一次添加一个元素,而不是直接赋一个新的集合进来。使用remove方法去做删除集合中元素的操作。 ...
2018-10-20 15:16:52
152
原创 CommandLineRunner 预加载
场景:在使用spring boot构建项目时,我们通常有一些需要预先加载的数据。使用:我们可以通过实现CommandLineRunner接口,重写run方法。 :当存在多个需要加载的数据类时,我们可以使用@Order进行排序。/** * 启动时预加载 * * @author aku */@Componentpublic class StarterTest ...
2018-10-20 14:55:58
444
原创 git 常用操作命令
1. 查看未合并分支git branch --no-merged2. 查看修改代码git diff3 修改 commit我们经常会在提交的时候拼写错误或者填入一些错误的信息,我们可以使用:git commit --amend如果你想修改已经提交的过的 commit 信息的话,你需要修改后:git commit --amend...
2018-10-20 14:50:31
252
原创 JPA @primayKeyJoinColumn
@primayKeyJoinColumn注解一般用于one2one关系,关系维护端的主键作为外键指向关系被维护端的主键,不再新建一个外键列。两个实体的主键id要求是相同的@Table(name = "user") public class User{ @OneToOne @PrimaryKeyJoinColumn(name = "id") A...
2018-10-20 14:46:26
767
原创 实体类监听器EntityListeners
自定义实体类监听器类。 public class DataBaseAuditListener { @PrePersist public void prePersist(Object object) throws IllegalArgumentException, IllegalAccessException { ...
2018-10-07 16:04:29
7478
原创 JPA复合主键问题
@EmbeddedId应用于实体类或映射超类的持久字段或属性,以表示可嵌入类的组合主键。可嵌入的类必须标注为@Embeddable,并实现序列化接口Serializable。 在实体类中,只能有一个@EmbeddedId注解,并且不能和@Id注解同时存在。 @MapsId注解可以和@Embedded I的注解一起使用,用来指定派生的主键,不支持在嵌入式类中定义关系映射。 ...
2018-10-07 15:50:42
541
转载 实体类间映射关系
转自:https://www.zybuluo.com/zhuanxu/note/1000527JPA @OneToOne、@ManyToOne、@OneToMany和@ManyToMany几个注解提供用以定义实体类之间的关系。OneToOne关系OneToOne 表示一对一的关系,先来看 OneToOne 的属性:@OneToOne targetEntity属性表示默认关联的...
2018-10-07 15:40:32
1431
转载 jpa 基础注解
转自:https://www.zybuluo.com/zhuanxu/note/9999651.@Entity和@Table@Entity标注用于实体类,表明该Java类为实体类,将映射到指定的数据库表。当实体类与其映射的数据库表明不同名时,需要使用@Table标注说明。@Table标注和@Entity标注一同使用,标注与实体类上。@Table注解的常用属性是name,用于指明数据...
2018-10-07 15:33:00
226
转载 技术网址,持续更新
1.springmvc源码分析:http://www.cnblogs.com/fangjian0423/p/springMVC-dispatcherServlet.html2.mysql常用语句:http://www.open-open.com/solution/view/13250374965933.多线程:https://www.cnblogs.com/wxd0108/p/547944...
2018-10-07 10:42:12
144
原创 gson配置
1.配置gson替代默认序列化工具@Configuration@EnableWebMvcpublic class HttpMessageConverterConfig implements WebMvcConfigurer { @Autowired private GsonHttpMessageConverter gsonHttpMessageConverter; ...
2018-10-07 10:05:51
1212
转载 spring缓存cache的使用
转载地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/#icomments 缺省的key生成策略是通过KeyGenerator生成的,其默认策略如下:* 如果方法没有参数,则使用0作为key。* 如果只有一个参数的话则使用该参数作为key。* 如果参数多余一个的话则使用所有参数的h...
2018-09-30 09:41:53
186
原创 java中的Pair对
应用场景: 当涉及到key-value键值对时,我们一般使用Map映射去做处理,此时的key相当于value的一个描述或者引用,而具体的信息都保存在value中,我们可以通过key去获取对应的value。但是当key和value都保存具体信息时,我们就需要用到Pair对了。 实际上Pair保存的应该说是一个信息对,两个信息都是我们需要的,...
2018-09-29 10:08:51
19057
原创 Spring工具类之AntPathMatcher
官方文档地址:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html作用:在项目中主要用来做路径的匹配,在权限模块会用到接口路径的匹配。用法规则: ?匹配一个字符 * 匹配零个或多...
2018-09-28 18:46:22
1579
原创 springboot yml配置文件
server: port: 8080 servlet: context-path: /apispring: datasource: url: jdbc:mysql://localhost:3306/aku?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL...
2018-09-28 14:54:07
336
原创 springboot项目中的异常处理
1.首先自定义异常类继承RuntimeException类,以NotFoundException为例:使用MessageFormat.format()方法做信息和可变参的处理。public class NotFoundException extends RuntimeException { private static final long serialVersionUID = ...
2018-09-28 14:51:01
397
转载 Mybatis的@Param注解的用法
1,使用@Param注解当以下面的方式进行写SQL语句时: @Select("select column from table where id = #{id} ") public int selectColumn(int id);当你使用了使用@Param注解来声明参数时,如果使用 #{} 或 ${} 的方式都可以。 @Select("select column from ta...
2018-03-15 16:10:37
353
原创 利用java循环输出等腰三角形
public class Test { public static void main(String[] args) { //循环输出等腰三角形 //行数 int max = 10; //控制行 for (int i = 1; i <= max; i++) { //控制空格 ...
2017-07-11 11:37:08
11013
原创 Java循环输出九九乘法表(以及print和println的区别)
public class Test { public static void main(String[] args) { //上三角输出九九乘法表 for(int i=1;i<=9;i++) { for(int j=1;j<=i;j++) {
2017-07-11 11:10:44
534
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人