自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

技术笔记

我的Java技术之旅

  • 博客(22)
  • 资源 (1)
  • 问答 (3)
  • 收藏
  • 关注

原创 eureka状态变更的接口

eureka信息查看get: {ip:port}/eureka/status 注册到eureka的服务信息查看get: {ip:port}/eureka/apps 注册到eureka的具体的服务查看get: {ip:port}/eureka/apps/{appname}/{id}对应eureka源码的:InstanceResource.getInsta...

2018-08-31 22:04:00 3283

原创 Spring Boot 使用Redis作为默认缓存,且注解支持配置过期时间

准备工作使用spring boot搭建简单的项目引入redis的包compile('org.springframework.boot:spring-boot-starter-data-redis')配置application.yml文件,添加如下内容(redis其他可以先使用默认配置)spring: cache: type: redis redis: ...

2018-08-25 18:52:49 15217 5

原创 spring注解

@Conditional@Conditional的作用域: 1. 类级别可以放在注标识有@Component(包含@Configuration)的类上 2. 作为一个meta-annotation,组成自定义注解 3. 方法级别可以放在标识由@Bean的方法上如果一个@Configuration的类标记了@Conditional,所有标识了@Bean的方法和@Import注解...

2018-08-24 00:50:50 162

原创 关于jpa新学到的一些注解使用

@Inheritance继承映射在 Annotation 中使用 @Inheritance 注解,并且需要使用 strategy 属性指定继承策略,继承策略有 SINGLE_TABLE、TABLE_PER_CLASS 和 JOINED 三种SINGLE_TABLE SINGLE_TABLE 是将父类和其所有的子类集合在一块,存在一张表中,并创建一个新的字段来判断对象的类型。 ...

2018-08-24 00:47:19 239

原创 SpringBoot分页Pageable最大size的自定义配置

起因在工作中,涉及到导出的功能,由于导出和搜索的结果是相同的,所以导出和搜索是同一接口。但由于搜索的分页是每页10条,而导出却是没有条数限制的,所以引出下面的问题controller方法如下:@PostMapping("/orders/search")public Page<SearchOrderOut> getOrders(@RequestBody @Valid ...

2018-08-12 22:35:20 13712 5

转载 单例模式的七种写法

转载自:http://www.hollischuang.com/archives/2051. 懒汉模式,线程不安全类初始化的时候并不创建,什么时候用什么时候创建 java public class Singleton { private static Singleton instance; private Singleton (){} ...

2018-08-11 15:46:55 199

原创 springboot集成swagger

Swaggerswagger是一个完整的api文档框架,适合团队和个人的强大而易于使用的API开发工具套件的,它涉及到了API开发生命周期从设计和文档、测试和部署通过注解自动生成在线文档接口在线调用调试集成springbootjar包引入(gradle)compile group: 'io.springfox', name: 'springfox-swagger2',...

2018-08-07 14:05:34 877

原创 第十一章 序列化

74. 谨慎的实现serializable接口实现serializable的代价最大的代价:一旦一个类被发布,就大大降低了“改变这个类的实现”的灵活性增加了出现bug和安全漏洞的可能性,反序列化是一个隐藏的构造器,依靠默认的反序列化机制,很容易是对象的约束关系遭到破坏,以及遭到非法访问随着类发行新的版本,相关的测试负担也增加了。一个可序列化的类被修改时,要检查是否可以“在新版本中序列...

2018-08-06 23:50:06 123

原创 第十章 并发

66. 同步访问共享的可变数据不要使用Thread.stop。要阻止一个线程妨碍另一个线程,建议做法是让第一个线程轮询一个boolean域,这个域一开始为false,但是可以通过第二个线程设置为true,以表示第一个线程将终止自己。由于boolean域的读写是原子的,所以在访问这个域的时候不在需要同步67. 避免过度同步过度同步可能导致性能降低、死锁,甚至不确定的行为应该在...

2018-08-06 23:43:59 138

原创 第九章 异常

第九章 异常57. 只针对异常的情况才使用异常58. 对可恢复的情况使用受检异常,对编程错误使用运行时异常59. 避免不必要的使用受检的异常60. 优先使用标准的异常最好重用现有的异常61. 抛出与抽象对应的异常62. 每个方法抛出的异常都要有文档63. 在细节消息中包含能捕获失败的信息为了捕获失败,异常的细节信息应该包含所有“...

2018-08-06 23:40:04 129

原创 第八章 通用程序设计

45. 将局部变量的作用域最小化要使局部变量作用域最小化的最有力的方法就只在第一次使用它的地方声明另一个有效方法是使方法小而集中46. for-each循环优于传统的for循环 有三种常见的情况无法使用for-each过滤——如果需要遍历集合,并删除指定的元素,就需要使用显示的迭代器,以便可以调用它的remove方法转换——如果需要遍历列表或数组,并取代它部分或...

2018-08-06 23:38:01 121

原创 第七章 方法

38. 检查参数的有效性39. 必要时进行保护性拷贝保护性拷贝实在参数有效性检查(38)之前进行的,而且有效性检查是针对拷贝之后的对象,这样做可以避免从检查参数到拷贝对象之间的时间段内从另一个线程改变类的参数40. 谨慎设计方法签名谨慎选择方法的名称:遵守命名规范、易于理解不要过于追求提供便利的方法:方法职责清晰、小方法避免过长的参数列表:<=4 方法拆分...

2018-08-06 23:36:36 120

原创 第六章 枚举和注解

30. 用enum代替int常量31. 用实例域代替序数32. 用EnumSet代替位域EnumSet是线程不安全的,需要借助Collections.synchronizedSetSet<MyEnum> s = Collections.synchronizedSet(EnumSet.noneOf(MyEnum.class));33. 用EnumMap...

2018-08-06 23:35:26 124

原创 第五章 泛型

23. 不要使用原生态类型,要使用泛型24. 消除非受检警告@SuperWarnings(“unchecked”)要尽可能小的范围25. 列表优于数组26. 优先考虑泛型27. 优先考虑泛型方法28. 利用有限制通配符来提升api的灵活性29. 优先考虑类型安全的异构容器...

2018-08-06 23:34:25 130

原创 第四章 类和接口

13. 使类和成员的可访性最小化封装:降低耦合,提高重用性实例域决不能是公有的公有类不应该包含公有域(除非公有静态final域),要确保公有静态final域所引用的对象都是不可变的14. 在公有类中使用访问方法而非公有域15. 使可变性最小化 使类成为不可变,需要遵循下面五条规则:不要提供任何会修改对象状态的方法保证类不会被扩展,一般让类成为final...

2018-08-06 23:33:34 215

原创 第三章 对于所有对象都通用的方法

8. 实现高质量equals方法的诀窍使用==操作符检查“参数是否为这个对象的引用”,如果是,返回true;使用instanceof操作符检查“参数是否为正确类型”,所谓正确类型,是指equals所在的类,有些情况下是指该类实现的某个接口;把参数转换成正确类型,因为转换之前进行过instanceof的测试,所以会确保成功;对于该类中的每个“关键”域,检查参数中的域是否与该对象对应的域相...

2018-08-06 23:29:06 169

原创 第二章 创建和销毁对象

第二章 创建和销毁对象1.考虑用静态工厂方法代替构造器 优势:有名称,易于理解可以重复利用对象,避免创建重复的对象可以返回原返回类型的任何子类型对象2.遇到多个构造器参数时要考虑用构建器 三种模式:1. 构造器模式当很多参数的时候,难编写,难阅读2. JavaBeans模式调用无参构造器创建对象,然后调用setter方法赋值弥...

2018-08-06 23:26:39 139

原创 spring boot起步-搭建eureka环境

在搭建过程中遇到的问题:1.遇到下面的错误:默认情况下,Eureka服务注册中心也会尝试把自己当做客户端来注册自己,就会出现下面的错误,因此需要禁止这种行为eureka: client: register-with-eureka: false fetch-registry: false如果需要注册eureka自己的话,可以配两个端口,启动两个eureka

2017-09-10 22:53:01 10256

原创 String源码阅读笔记

1.String是final修饰的类,不允许继承改变。public final class String implements java.io.Serializable, Comparable, CharSequence2.String实质是字符数组,从源码中可以看出来,private final char value[];从上面也可以看出String修饰的

2017-05-31 11:03:56 300

原创 445端口被封之后,如何使用smb协议

前几天的永恒之蓝,导致把445端口封掉了,可项目中用到smb协议(默认端口是445),解决办法,把smb端口改成其他,具体如下:首先要关闭445端口,可以参考微软KB 301673中的方法,在注册表的HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services/NetBT/Parameters中增加一个值:        Value 

2017-05-19 14:23:17 65359 2

原创 在eclipse里的tomcat发布项目提示404错误,可能的情况

在eclipse中把项目发布到wtpwebapps文件夹下,在浏览器访问提示404,我当时的错误原因:conf/server.xml文件中的浏览器访问时的应用名与path指定的不一样,所以导致了404

2017-03-01 20:40:47 429

原创 总结java反射相关知识

java获取class对象的三种方式:(1)类.class(2)对象.getClass()(3)Class的静态方法:Class.forName(“类的全名”) (使用最多) package com.zml;public class Demo{Class<?> c1 = null;Class<?> c2 = null;Class<?&...

2015-12-23 21:17:55 248

用mfc实现吹泡泡

用MFC实现画出任意大小的圆,并且可以自行修改颜色

2013-07-10

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

TA关注的人

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