Java中级篇
Alecor
不要被对象、属性、方法所迷惑,最根本的是了解最基础的知识。
展开
-
OpenFeign 切换HttpClient遇到的问题
OpenFeign 切换 http请求客户端遇到的问题原创 2023-03-01 19:50:37 · 919 阅读 · 0 评论 -
Java8 判断一个集合的元素哪些不在另外一个集合
Java8 集合筛选原创 2022-08-03 21:53:12 · 2658 阅读 · 0 评论 -
Java8中list转map方法
常用方式1.利用Collectors.toMap方法进行转换public Map<Long, String> getIdNameMap(List<Account> accounts) { return accounts.stream().collect(Collectors.toMap(Account::getId, Account::getUsername));}其中第一个参数就是可以,第二个参数就是value的值。2.收集对象实体本身在开发过程中我们也需要转载 2022-04-24 17:46:52 · 63397 阅读 · 3 评论 -
Java异步执行方法
一.利用多线程直接new线程Thread t = new Thread(){ @Override public void run() { longTimeMethod(); }};使用线程池private ExecutorService executor = Executors.newCachedThreadPool() ; public void fun() throws Exception { executor.submit(new Runna原创 2021-10-11 22:52:46 · 15285 阅读 · 0 评论 -
计算List类集、数组、Map及常用数据类型等占用字节大小。
public class ByteSizeUtils { public static int getByteSize(List<?> datas) { int byteSize=0; try { ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream os = new ObjectOutputStream(原创 2021-09-15 15:57:30 · 1141 阅读 · 0 评论 -
Java中统计耗时的方法
时间差统计这种方式是最简单的方法,记录下开始时间,再记录下结束时间,计算时间差即可。public class TimeDiffTest { public static void main(String[] args) throws InterruptedException { final long startMs = TimeUtils.nowMs(); TimeUnit.SECONDS.sleep(5); // 模拟业务代码 System.o转载 2021-07-10 19:20:08 · 4246 阅读 · 0 评论 -
批处理工具
前言这是自己在工作中根据ElasticSearch的BulkProcessor写的一个批处理方法。主要支持有:1、当数据达到一定阈值的之后,进行触发消费操作2、当执行时间达到一定时间后,执行操作;3、支持监听任务的执行过程4、支持重试机制代码地址:batchProcessor...原创 2021-05-05 17:32:20 · 158 阅读 · 0 评论 -
Springboot1.X升级到2.X的填坑
一、SpringBootServletInitializer 类所在包的变化当 SpringBoot 准备打成 war 包部署时,我们需要继承 SpringBootServletInitializer 类。在 SpringBoot1.5 版本中,SpringBootServletInitializer 类在 org.springframework.boot.web.support 包,而到了 SpringBoot2.2 版本,SpringBootServletInitializer 类迁移到了 org.原创 2021-03-20 13:04:53 · 1097 阅读 · 0 评论 -
Jar包分析-META-INF文件夹
前言在我们使用Jar包的时候,有一个特殊的文件夹META-INF,那么他的作用是什么呢,我们来看一看官网解释JAR file is a file format based on the popular ZIP file format and is used for aggregating many files into one. A JAR file is essentially a zip file that contains an optional META-INF directory. A原创 2020-12-04 10:02:08 · 2304 阅读 · 0 评论 -
java中的PostConstruct,PreDestroy详解
定义:首先很多人都认为这个注解是Spring提供,错的,这个是由javax.annotation-api提供注解,从Java EE5规范开始,增加了两个影响Servlet生命周期的注解,这两个注解都是被用来修饰一个非静态的void()方法。@PostContruct:,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在spring容器初始化或者servlet容器初始化的时候执行该方法。被@PreDestroy修饰的方法会在服务器卸载Servlet的时候运行,并且只会被服务器调用一次,类似于S原创 2020-07-31 20:08:35 · 751 阅读 · 0 评论 -
关于单例模式应用的一些思考
文章转自:http://www.tools138.com/create/article/20150929/020009847.html单利模式的优缺点和使用场景首先介绍一下单例模式:单例模式(Singleton),也叫单子模式,是一种常用的软件设计模式。在应用这个模式时,单例对象的类必须保证只有一个实例存在。许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。比如在...转载 2020-02-04 10:56:07 · 193 阅读 · 0 评论 -
Integer类的缓存机制
Integer的缓存先看一道面试题考察缓存//情景1Integer a = 1;Integer b = 1;System.out.println(a == b);//true。b.intValue()//情景2Integer c = 128;Integer d = 128;System.out.println(c == d);//false//情景3Integer ...原创 2019-11-19 10:00:55 · 187 阅读 · 0 评论 -
Oracle Package包使用
包是一组相关过程、函数、变量、常量#SinaEditor_Temp_FontName、类型和游标等PL/SQL程序设计元素的组合。包具有面向对象设计的特点,是对这些PL/SQL程序设计元素的封装。一个包由两个分开的部分组成:(1)包package声明或定义:包定义部分是创建包的规范说明,声明包内数据类型、变量、常量、游标等元素。这部分也是为使用者提供了透明的接口。(2)包体packpage body原创 2016-12-09 16:56:53 · 573 阅读 · 0 评论 -
单例模式——懒汉式和饿汉式
所谓“懒汉式”与“饿汉式”的区别,是在与建立单例对象的时间的不同。 “懒汉式”是在你真正用到的时候才去建这个单例对象: 比如:有个单例对象public class Singleton{ private Singleton(){} private static Singleton singleton = null; //不建立对象 public static s原创 2016-12-18 15:04:38 · 349 阅读 · 0 评论 -
URL长链接转短链接
最近看到微博的短链接真是很火啊,新浪、腾讯、搜狐等微博网站都加入了短链接的功能。之所以要是使用短链接,主要是因为微博只允许发140 字,如果链接地址太长的话,那么发送的字数将大大减少。短链接的主要职责就是把原始链接很长的地址压缩成只有6 个字母的短链接地址,当我们点击这6 个字母的链接后,我们又可以跳转到原始链接地址。开始以为短链接是按照某种算法把原始链接压缩为短链接,再根据算法从短链接反算成原始链转载 2017-07-07 11:15:59 · 5633 阅读 · 2 评论 -
Luence5.5 检索
这几天项目中用到了luence检索技术,我这里记录一下自己的使用过程,版本号luence为5.5 import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Do...原创 2018-02-26 14:31:25 · 384 阅读 · 0 评论 -
volatile和synchronized的区别
介绍 在java语言中,如果我们处理多线程问题,那么必不可免的会接触到这两个关键字,volatitle、synchronized,那么接下来,分析一下这两个关键字的区别功能/*** 没有修饰的变量*/int i1; int geti1() { return i1; } /*** volatile修饰...原创 2018-03-11 22:30:04 · 251 阅读 · 0 评论 -
java中的软引用和弱引用
在java 中除了基本数据类型之外,其他都是引用数据类型,而引用数据类型又分类四种强引用 指向通过new得到的内存空间的引用叫做强引用,比如 String a = new String(“123”),其中的a就是一个强引用,它指向了一块内存为123的堆空间。平时我们用的最多的也是强类型.软引用 软引用(在java 中可以用SoftReference类实现)的含义是,如...原创 2018-05-26 10:24:57 · 706 阅读 · 0 评论 -
java中对于字符串 XX.toString和String.valueOf()以及强制类型转换的区别
今天在写代码的时候遇到很多需要类型转换的东西 ,特别是需要转换到String类型。好几次都报错了,特此记录一下这三者之间的区别 toString方法先看一下API对toString方法的描述返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。Object 类的 toS...原创 2018-08-03 11:25:05 · 4618 阅读 · 0 评论 -
责任链模式之模仿Sentinel实现(转载)
https://blog.csdn.net/zzjmay/article/details/88761284转载 2019-05-15 14:35:40 · 218 阅读 · 0 评论 -
记录几个常用的java 集合转换方法(Map、List、String[]、JSON)
以下数据JDK1.7环境Map 单独取所有的Key值和value值 Map<String,String> map = new HashMap<String,String>(); map.put("A","1"); map.put("B","2"); map.put("C","3"); ...原创 2019-07-12 09:35:53 · 297 阅读 · 0 评论 -
java读写Oracle Blob字段
前几天一直在研究Oracle Text,其中用到了Blob类型,如果用过Oracle数据库并且用Blob类型存储文件(word, excel,txt…)的同学来说,肯定不陌生了。现在就做个笔记。 Blob类型字段是Oracle数据库中的一个修饰属性,他可以实现对文本,视频,图片等的存储。视频好像可以存储4G一下的内容,可以参考:http://www.cnblogs.com/wuhenke/arch原创 2016-10-24 20:52:18 · 3450 阅读 · 0 评论