随笔分类 -  Java基础

java基础知识
摘要:HashMap数据结构 HashMap是以数组+链表的形式进行存储数据。 数组的优缺点:通过下标索引方便查找,但是插入或删除慢。 链表的优缺点:查找一个元素需要以遍历链表的方式查找,但是插入或删除快。 HashMap内部维护了一个Node数组: 其中Node数据结构如下: HashMap构造方法 H 阅读全文
posted @ 2021-01-26 09:03 仅此而已-远方 阅读(195) 评论(0) 推荐(0) 编辑
摘要:在上一篇 同时处理多个请求,记录了同时处理多个请求的几种方式,本篇主要介绍多线程处理时,进行超时控制。也就是说超时了的任务扔掉,未超时的任务返回 在研究线程相关的API时,发现了future.get(timeout, unit)方法,意思是在指定的时间内会等待任务执行,超时则抛异常。激动之余赶紧试了 阅读全文
posted @ 2019-08-08 14:19 仅此而已-远方 阅读(2853) 评论(0) 推荐(1) 编辑
摘要:在工作中遇到同时向多个服务请求的场景,在此将自己的研究过程记录一下 模拟三个请求requestA、requestB、requestC: @Service public class ParallelService { public String requestA() { try { TimeUnit. 阅读全文
posted @ 2019-08-07 09:05 仅此而已-远方 阅读(3075) 评论(0) 推荐(1) 编辑
摘要:想将实体类字段转为数据库字段,找了半天只找到一个这样的例子: 一般情况下,这个方法都是满足需求的,可以测试一下: 但是如果实体类中,出现连续的大写字母(这种情况不符合java规范),就会很怪异: 看了下JPA自动把实体类字段转为数据库字段的效果,发现它直接跳过了连续大写字母,只在形如"..aAa.. 阅读全文
posted @ 2018-10-26 16:20 仅此而已-远方 阅读(2619) 评论(1) 推荐(1) 编辑
摘要:在学习本篇之前,最好对java8新特性有一定的了解。可以参考:Java8新特性--流(Stream) 场景:有一个实体的List集合,需要根据实体中的某个字段对List去重 要想去重,可以考虑使用TreeSet。先来看看TreeSet的用法: 从上面可以看到TreeSet可以根据实体中的某个字段(这 阅读全文
posted @ 2018-09-17 09:21 仅此而已-远方 阅读(11357) 评论(1) 推荐(2) 编辑
摘要:在做项目的过程中,遇到一个场景:在审批流中,如果上级领导不审批,则在10分钟后自动审批。也就是要做一个任务在多长时间后执行的效果 在不断的摸索中,想到了使用线程池,发现有个ScheduledExecutorService可以实现,现将实现过程记录下来 这里设置的是10秒钟之后执行。看下执行效果: 该 阅读全文
posted @ 2018-09-13 13:47 仅此而已-远方 阅读(4728) 评论(0) 推荐(0) 编辑
摘要:BloomFilter 简介 当一个元素被加入集合时,通过K个散列函数将这个元素映射成一个位数组中的K个点,把它们置为1。检索时,我们只要看看这些点是不是都是1就(大约)知道集合中有没有它了:如果这些点有任何一个0,则被检元素一定不在;如果都是1,则被检元素很可能在。 优点:相比于其它的数据结构,布 阅读全文
posted @ 2018-09-10 17:38 仅此而已-远方 阅读(2618) 评论(0) 推荐(0) 编辑
摘要:Lombok是一个可以通过简单的注解形式来帮助我们简化消除一些必须有但显得很臃肿的Java代码的工具,通过使用对应的注解,可以在编译源码的时候生成对应的方法 pom依赖: 下面只是介绍了几个常用的注解,更多的请参见https://projectlombok.org/features/index.ht 阅读全文
posted @ 2018-07-31 08:45 仅此而已-远方 阅读(1172) 评论(0) 推荐(0) 编辑
摘要:JSONObject,JSONArray是JSON的两个子类。 首先我们来看JSONObject源码: 会发现JSONObject是继承Map<String, Object>,并且都是使用的Map中的方法。可以说JSONObject相当于Map<String, Object> 看个具体的列子: 运行 阅读全文
posted @ 2018-05-02 13:04 仅此而已-远方 阅读(16112) 评论(0) 推荐(0) 编辑
摘要:在项目中使用到了fastjson,故研究了一下。现将自己的几个测试用例和大家分享一下~ 首先在pom.xml文件中,加入依赖: 创建一个实体类: 接下来看测试用例: 1、对象与json 运行结果: 注意事项: 1、对象转json字符串时,对象中的NodeName首字母是大写,转出来是小写。 2、js 阅读全文
posted @ 2018-05-02 09:21 仅此而已-远方 阅读(1000) 评论(0) 推荐(1) 编辑
摘要:在项目中使用到了ObjectMapper,故研究了一下。现将自己的几个测试用例和大家分享一下~ 首先在pom.xml文件中,加入依赖: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-dat 阅读全文
posted @ 2018-05-01 16:56 仅此而已-远方 阅读(166901) 评论(2) 推荐(17) 编辑
摘要:在使用ObjectMapper将json转对象,调用mapper.readValue(jsonStr, XwjUser.class)时,报如下错: 解决办法:在XwjUser实体类中,加入无参构造器,即可解决 阅读全文
posted @ 2018-05-01 16:12 仅此而已-远方 阅读(6173) 评论(0) 推荐(0) 编辑
摘要:java.io.Serializable 标识一个对象需要系列化,该对象类型需要实现 Serializable 接口。关于序列化的认识,可以参考IBM社区的文章《Java序列化的高级认识》,本文直接拿该文档的结论。 1、序列化的类型和反序列化的类型的序列化ID必须一致(远程信息交换时)。 2、静态数 阅读全文
posted @ 2018-04-24 08:54 仅此而已-远方 阅读(183) 评论(0) 推荐(0) 编辑
摘要:最近在做查询的数据遇到如下报错: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class org.hibernate.proxy.pojo.javassist.Javas 阅读全文
posted @ 2018-04-14 16:28 仅此而已-远方 阅读(19139) 评论(0) 推荐(0) 编辑
摘要:FreeMarker简介 FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具,它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 FreeMarker是免费的,基于Apach 阅读全文
posted @ 2018-04-12 14:01 仅此而已-远方 阅读(911) 评论(0) 推荐(0) 编辑
摘要:Java注解教程:自定义注解示例,利用反射进行解析 Java注解能够提供代码的相关信息,同时对于所注解的代码结构又没有直接影响。在这篇教程中,我们将学习Java注解,如何编写自定义注解,注解的使用,以及如何使用反射解析注解。 注解是Java 1.5引入的,目前已被广泛应用于各种Java框架,如Hib 阅读全文
posted @ 2018-03-14 17:26 仅此而已-远方 阅读(538) 评论(0) 推荐(0) 编辑
摘要:1、简介 Java 8是Java自Java 5(发布于2004年)之后的最重要的版本。这个版本包含语言、编译器、库、工具和JVM等方面的十多个新特性。在本文中我们一起来学习引入的一个新特性-流 2、Lambda表达式 在学习流之前,我们先来了解下java8中引入的Lambda表达式,它作为流很重要的 阅读全文
posted @ 2018-03-01 15:36 仅此而已-远方 阅读(2855) 评论(0) 推荐(0) 编辑

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