随笔分类 -  Java

Java相关
摘要:前言 序列化和反序列化看起来用的不多,但用起来就很关键,因为稍一不注意就会出现问题。序列化的应用场景在哪里?当然是数据存储和传输。比如缓存,需要将对象复刻到硬盘存储,即使断电也可以重新反序列化恢复。下面简单理解序列化的用法以及注意事项。 如何序列化 Java中想要序列化一个对象,必须实现 接口。然后 阅读全文
posted @ 2018-02-28 12:46 Ryan.Miao 阅读(3130) 评论(2) 推荐(6) 编辑
摘要:前言 还是需要从头阅读下HashMap的源码。目标在于更好的理解HashMap的用法,学习更精炼的编码规范,以及应对面试。 它根据键的hashCode值存储数据,大多数情况下可以直接定位到它的值,因而具有很快的访问速度,但遍历顺序却是不确定的。 HashMap最多只允许一条记录的键为null,允许多 阅读全文
posted @ 2018-02-27 17:06 Ryan.Miao 阅读(1551) 评论(0) 推荐(6) 编辑
摘要:前言 lombok是一个编译级别的插件,它可以在项目编译的时候生成一些代码。在很多工具类的项目中都有这个功能。比如dagger。 通俗的说,lombok可以通过注解来标示生成 `settter Generate`生成,为啥要用这个? 在项目开发阶段,一个class的属性是一直变化的,今天可能增加一个 阅读全文
posted @ 2018-01-23 07:04 Ryan.Miao 阅读(19607) 评论(4) 推荐(6) 编辑
摘要:前言 之前遇到过使用Optional之后带来的隐含bug,现在强调记录一下不好的用法,防止错用。 Optional不能序列化,不能作为类的字段(field) 这点尤为重要,即类要纯粹。如果是POJO就原始类型就可以了,如果是领域对象,则更不应该使用Optional作为field。 Optional不 阅读全文
posted @ 2018-01-10 11:54 Ryan.Miao 阅读(4239) 评论(0) 推荐(0) 编辑
摘要:前言 Dropwizard官方文档并没有提供国际化的模块,所以只能自己加。Spring的MessageResource用的很顺手,所以copy过来。 Easy i18n 在整合Dropwizard的时候,多语言貌似只能通过jdk自带的ResourceBundle拿数据。其实也就够了,但在开发过程中发 阅读全文
posted @ 2017-11-24 08:22 Ryan.Miao 阅读(1269) 评论(0) 推荐(0) 编辑
摘要:前言 语言都是相通的,只要搞清楚概念后就可以编写代码了。而概念是需要学习成本的。 本文对应地址: https://blog.rmiao.top/Hello Java Web/ <! more Java基础 不用看《编程思想》,基础语法看 http://www.runoob.com/java/java 阅读全文
posted @ 2017-11-22 03:33 Ryan.Miao 阅读(5858) 评论(4) 推荐(6) 编辑
摘要:前言 Swagger已经成API service的规范了,本处在dropwizard中简单集成Swagger. Demo source https://github.com/Ryan Miao/l4dropwizard 本文是基于 "dropwizard入门" 之上的演进。 确保依赖都是最新的,或者 阅读全文
posted @ 2017-11-21 09:52 Ryan.Miao 阅读(2513) 评论(0) 推荐(0) 编辑
摘要:前言 dropwizard提供了一个简单的测试框架。这里简单集成并加入jacoco测试。 Demo source https://github.com/Ryan Miao/l4dropwizard 本文是基于 "dropwizard入门" 之上的演进。 确保依赖都是最新的,或者自行解决版本冲突,比如 阅读全文
posted @ 2017-11-21 00:10 Ryan.Miao 阅读(882) 评论(0) 推荐(0) 编辑
摘要:前言 习惯了Spring全家桶,对spring的容器爱不释手。使用dropwizard,看起来确实很轻,然而,真正使用的时候不得不面临一个问题。 我们不可能一个resource就能把所有的业务逻辑囊括 !那么,必然就要有负责处理逻辑的代码,有要提取的公共的代码,要做面向接口开发等等。按照简单的用法, 阅读全文
posted @ 2017-11-20 22:39 Ryan.Miao 阅读(1192) 评论(0) 推荐(0) 编辑
摘要:前言 不可避免的要用dropwizard作为service框架。持续学习。上次 "在dropwizard中使用feign,使用hystrix" , 算是基本入门了。接下来就是基于此的优化。 <! more 把需要使用Configuration的逻辑从Application里分离出来 在开始的demo 阅读全文
posted @ 2017-11-20 22:08 Ryan.Miao 阅读(734) 评论(0) 推荐(0) 编辑
摘要:前言 在为dropwizard选择DI框架的时候考虑了很久。Guice比较成熟,Dagger2主要用于Android。虽然都是google维护的,但Dagger2远比guice更新的频率高。再一个是,Dagger2不同于guice的运行时注入,编译时生成代码的做法很好。提前发现问题,更高的效率。 < 阅读全文
posted @ 2017-10-30 09:48 Ryan.Miao 阅读(3711) 评论(0) 推荐(0) 编辑
摘要:前言 现在还记得第一次面试的时候,被问HTML全称是什么,这才意识到记住全称并不是无理取闹,而是个人对这项技术的理解程度还没到。当你去了解一个技术的时候,名词是首先要掌握的,除非你只是皮毛。 常规 |英文|全称|desc| | | | | |HTTP |HyperText Transfer Prot 阅读全文
posted @ 2017-10-22 12:40 Ryan.Miao 阅读(600) 评论(0) 推荐(0) 编辑
摘要:前言 系统:Ubuntu 16.04 软件: Java8, Java9 Tips: Java 9 的代码由于提供了新特性,所以有些代码并不支持向后兼容。也就是说,用 Java 9 写的代码,有可能在 Java 8 或更早版本的 JDK 上不能运行。 Java9终于出来了,可以尝鲜体验下,可惜Java 阅读全文
posted @ 2017-10-17 22:25 Ryan.Miao 阅读(21531) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-10-09 18:21 Ryan.Miao 阅读(17856) 评论(0) 推荐(0) 编辑
摘要:从两个list中找出相同的部分。 阅读全文
posted @ 2017-09-29 10:19 Ryan.Miao 阅读(6691) 评论(5) 推荐(0) 编辑
摘要:String是Java中最常用的类,是不可变的(Immutable), 那么String是如何实现Immutable呢,String为什么要设计成不可变呢? 前言 关于String,收集一波基础,来源标明最后,不确定是否权威, 希望有问题可以得到纠正。 0. String的内存模型 Java8以及以 阅读全文
posted @ 2017-09-25 10:12 Ryan.Miao 阅读(3502) 评论(5) 推荐(10) 编辑
摘要:前言 用惯了spring全家桶之后,试试dropwizard的Hello World也别有一帆风味。为了增强对外访问API的能力,需要引入open feign。这里简单在dropwizard中使用feign。 1. 什么Dropwizard Dropwizard is a Java framewor 阅读全文
posted @ 2017-09-19 12:10 Ryan.Miao 阅读(1732) 评论(0) 推荐(0) 编辑
摘要:前言 平时最常用的莫过于 和`HashMap`了,面试的时候也是问答的常客。先不去管容量、负载因子什么的,就是简单的使用也会遇到坑。 Remove 元素 经常遇到的一个场景是:遍历list, 然后找到合适条件的给删除掉,比如删除所有的偶数。 [1, 3, 4] 经常会使用一个Arrays.asLis 阅读全文
posted @ 2017-09-12 23:35 Ryan.Miao 阅读(16453) 评论(1) 推荐(2) 编辑
摘要:猪脚:以下内容参考《Java 8 in Action》 本次学习内容: Lambda 基本模式 环绕执行模式 函数式接口,类型推断 方法引用 Lambda 复合 代码: https://github.com/Ryan Miao/someTest/blob/master/src/main/java/c 阅读全文
posted @ 2017-07-21 13:13 Ryan.Miao 阅读(2082) 评论(1) 推荐(2) 编辑
摘要:猪脚:以下内容参考《Java 8 in Action》 发布:https://ryan miao.github.io/2017/07/15/java8 in action 2/ 源码: "github" 需求 果农需要筛选苹果,可能想要绿色的,也可能想要红色的,可能想要大苹果( 150g),也可能需 阅读全文
posted @ 2017-07-15 21:51 Ryan.Miao 阅读(2112) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示