自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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 530 1

原创 Java的类加载

1.在Java中,类型的加载、连接初始化过程都是在运行期间完成的。这样做的缺点时增加了一部分的性能开销,但也有很多的优点,比如高度的灵活性,动态加载、动态连接,运行时绑定(面向接口)等。2.类加载的时机(未被初始化过时)接到new,getstatic,putstatic,invokestatic指令时 反射调用 初始化子类时,若父类未被初始化过,则会优先初始化父类。 执行main()...

2019-06-22 13:06:56 175

翻译 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 232

翻译 Java 101: Java多态及其类型

学习四种类型的多态,并开始使用子类型多态执行一个方法的不同形式。

2019-06-01 17:40:47 15357

翻译 所有好的软件代码的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 425

翻译 什么是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 2765

翻译 什么是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 1742

原创 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 14142 2

原创 spring data jpa 操作视图

1.场景: 在项目中遇到一个设计多张表复杂查询时,为了不想使用JDBC直接创建sql语句查询2.用法:手动写出查询sql语句,在数据库中创建对应视图 在代码中创建对应实体类,直接当作普通的实体对应表一样操作。...

2019-03-10 14:23:06 3446

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

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

原创 js 浮点数精度问题

场景:在使用postman写js测试脚本时,项目中BigDecimal类型数据通过接口获取后,在脚本中经过计算后失去了经度。 解决:使用js中的 toFixed(m)方法设置经度,m位小数点后的位数。          ---   使用 `==` 判断浮点数是否相等...

2019-01-19 13:29:35 210

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

原创 项目中的数据校验问题

1.在向数据库插入数据时,对数据进行校验,确保数据正确性。2.如果在项目中使用的数据时从数据库取出的数据,并且数据是错误的,则是代码出现了问题,要往上排查,要在源头处(也就是向数据库插入数据时)切断错误。...

2019-01-19 13:27:19 561

原创 spring schedule 定时任务

场景:在实际项目中,定时任务的应用非常广泛,比如一些视频网站,购买会员后,每天会给会员送成长值,每个月会送电影卷;比如定时生成报表、邮件;比如一些定时清理数据的任务。用法:spring的定时任务用起来非常简单,下面主要说在spring boot项目中的用法。1.首先我们要在启动类上添加@EnableScheduling,去开启定时任务。2.接着我们要在需要定时执行的方法上,添加@Sch...

2018-11-03 13:40:10 202

原创 spring 注入静态成员变量

场景:在工具类中,有时候我们需要给静态成员变量注入值,而静态成员变量实在类加载的时候加载的。我们通常有两种方法去实现:1:使用set函数注入@Componentpublic Class LogUtil { private static LogStampService logStampService; @Autowired public void s...

2018-11-03 13:13:22 464

原创 项目实用技巧

在从数据库批量获取数据时,要尽量返回一个不可更改的数据集,防止数据被随意更改。我们可以使用Collections工具类中的unmidifiable方法,根据具体类型返回。在实体类中我们可以使用add方法替代set方法为集合赋值,一次添加一个元素,而不是直接赋一个新的集合进来。使用remove方法去做删除集合中元素的操作。 ...

2018-10-20 15:16:52 112

原创 CommandLineRunner 预加载

场景:在使用spring boot构建项目时,我们通常有一些需要预先加载的数据。使用:我们可以通过实现CommandLineRunner接口,重写run方法。        :当存在多个需要加载的数据类时,我们可以使用@Order进行排序。/** * 启动时预加载 * * @author aku */@Componentpublic class StarterTest ...

2018-10-20 14:55:58 351

原创 git 常用操作命令

1. 查看未合并分支git branch --no-merged2. 查看修改代码git diff3 修改 commit我们经常会在提交的时候拼写错误或者填入一些错误的信息,我们可以使用:git commit --amend如果你想修改已经提交的过的 commit 信息的话,你需要修改后:git commit --amend...

2018-10-20 14:50:31 209

原创 JPA @primayKeyJoinColumn

@primayKeyJoinColumn注解一般用于one2one关系,关系维护端的主键作为外键指向关系被维护端的主键,不再新建一个外键列。两个实体的主键id要求是相同的@Table(name = "user")   public class User{   @OneToOne     @PrimaryKeyJoinColumn(name = "id")   A...

2018-10-20 14:46:26 637

原创 实体类监听器EntityListeners

自定义实体类监听器类。 public class DataBaseAuditListener { @PrePersist public void prePersist(Object object) throws IllegalArgumentException, IllegalAccessException { ...

2018-10-07 16:04:29 7392

原创 JPA复合主键问题

@EmbeddedId应用于实体类或映射超类的持久字段或属性,以表示可嵌入类的组合主键。可嵌入的类必须标注为@Embeddable,并实现序列化接口Serializable。   在实体类中,只能有一个@EmbeddedId注解,并且不能和@Id注解同时存在。   @MapsId注解可以和@Embedded I的注解一起使用,用来指定派生的主键,不支持在嵌入式类中定义关系映射。 ...

2018-10-07 15:50:42 469

转载 实体类间映射关系

转自:https://www.zybuluo.com/zhuanxu/note/1000527JPA @OneToOne、@ManyToOne、@OneToMany和@ManyToMany几个注解提供用以定义实体类之间的关系。OneToOne关系OneToOne 表示一对一的关系,先来看 OneToOne 的属性:@OneToOne targetEntity属性表示默认关联的...

2018-10-07 15:40:32 1333

转载 jpa 基础注解

转自:https://www.zybuluo.com/zhuanxu/note/9999651.@Entity和@Table@Entity标注用于实体类,表明该Java类为实体类,将映射到指定的数据库表。当实体类与其映射的数据库表明不同名时,需要使用@Table标注说明。@Table标注和@Entity标注一同使用,标注与实体类上。@Table注解的常用属性是name,用于指明数据...

2018-10-07 15:33:00 178

转载 技术网址,持续更新

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 114

转载 你真的会用gson吗?

你真的会用gson吗?系列文章http://www.jianshu.com/p/e740196225a4

2018-10-07 10:09:29 157

原创 gson配置

1.配置gson替代默认序列化工具@Configuration@EnableWebMvcpublic class HttpMessageConverterConfig implements WebMvcConfigurer { @Autowired private GsonHttpMessageConverter gsonHttpMessageConverter; ...

2018-10-07 10:05:51 1105

转载 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 144

原创 java中的Pair对

应用场景:              当涉及到key-value键值对时,我们一般使用Map映射去做处理,此时的key相当于value的一个描述或者引用,而具体的信息都保存在value中,我们可以通过key去获取对应的value。但是当key和value都保存具体信息时,我们就需要用到Pair对了。              实际上Pair保存的应该说是一个信息对,两个信息都是我们需要的,...

2018-09-29 10:08:51 18488

原创 Spring工具类之AntPathMatcher

官方文档地址:https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/AntPathMatcher.html作用:在项目中主要用来做路径的匹配,在权限模块会用到接口路径的匹配。用法规则:           ?匹配一个字符           * 匹配零个或多...

2018-09-28 18:46:22 1474

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

原创 springboot项目中的异常处理

1.首先自定义异常类继承RuntimeException类,以NotFoundException为例:使用MessageFormat.format()方法做信息和可变参的处理。public class NotFoundException extends RuntimeException { private static final long serialVersionUID = ...

2018-09-28 14:51:01 319

原创 Redis

spring-data-redis jar包版本过高,换成1.7.2即可。

2018-07-02 14:57:17 166

转载 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 290

原创 利用java循环输出近似圆

这段代码利用了for循环做输出,还涉及到了math类的使用,最终实现了"*"符号的近似圆输出。

2017-07-11 15:36:44 1960

原创 利用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 10880

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

基于JavaSSM的增删改查小项目

基于JavaSSM的增删改查小项目,使用maven构建,适合新人上手。

2018-04-11

karel机器人源代码(斯坦福大学公开课)

斯坦福大学公开课《编程方法学》,karel机器人源代码。

2017-10-22

空空如也

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

TA关注的人

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