
java核心技术
讲述java开发过程中需要注意的核心知识点和遇到的那些坑。
jieniyimiao
真的英雄,在于,以脆弱的凡人之躯,而具有神性的不可战胜。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
字节跳动笔试题
1.题目一package com.sino.daily.code_2021_8_21;/** * create by 2021-08-21 12:42 * * @author caogu */import java.util.*;public class Example { public static void main(String[] args) { List<Long> longArrayList = new ArrayList<>(原创 2021-08-21 12:47:58 · 596 阅读 · 0 评论 -
java的动态代理机制.md
1.楔子在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。2.简介在java的动态代理机制中,有两个重要的类或接口,一个是InvocationHandler(Interface)、另一个则是Proxy(Cla原创 2020-08-01 22:04:57 · 437 阅读 · 0 评论 -
JAVA多线程实现方式
1. 楔子java有多种方式实现多线程,比如继承Thread类或实现Runnable接口创建无返回值的多线程、使用ExecutorService、Callable、Future实现有返回结果的多线程等,这些该具体如何实现?各有什么不同?在什么样的场景下使用哪种方式比较好?本文就来探讨这些问题。2.继承ThreadThread本质上也是实现了Runnable接口,他是Runnable的一个实例...原创 2019-04-16 23:06:21 · 629 阅读 · 0 评论 -
fastJson解析URL中&特殊字符报错
1.楔子在做消息推送的时候,突然报出一个fastJosn解析json错误的报错,找了好久都终于发现是因为URL中含有特殊字符需要转义的字符&,导致JSON解析报错。2.报错信息网上搜索这个错误,大部分观点是JSON中含有特殊字符。还有人说是fastjson版本,字符串编码等问题,最后被逐一排除,定位到是含有特殊字符&json文件中含有如下的URL:3.解决方式定位到...原创 2019-04-09 22:35:02 · 8687 阅读 · 0 评论 -
JAVA自带工具之jps
1.命令介绍jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。功能描述:jps是用于查看有权访问的hotspot虚拟机的进程. 当未指定hostid时,默认查看本机jvm进程,否者查看指定的hostid机器上的jvm进程,此时hostid所指机器必须开启jstatd服务。 jps可以列出jv...原创 2019-04-01 22:36:36 · 1228 阅读 · 0 评论 -
java从jar包中读取资源文件
楔子一个JAVA项目需要在应用启动时读取一个文件,在这遇到了一个坑,就是在Idea 中,应用启动时可以正常读取这个文件,但应用打成jar包后直接运行就读取不到。要读取的文件位于/src/main/resources目录下,其相对路径为/src/main/resources/HotleAllCity.json如下图所示:IDE中读取IDE中的读取方式是,先获取文件的路径,然后读取文件//...原创 2019-03-25 22:04:31 · 42170 阅读 · 1 评论 -
什么是JAVA的ClassLoader
一、楔子在读取Jar包中的资源文件时,一般会使用this.getClass().getResourceAsStream方法,使用ClassLoader以流的形式来读取资源文件,那究竟什么是ClassLoader?本文就来一探究竟。二、什么是ClassLoader?ClassLoader是一个抽象类,我们用它的实例对象来装载类 (Java默认提供的三个ClassLoader),它负责将 Jav...原创 2019-03-26 22:04:41 · 1103 阅读 · 0 评论 -
Java中静态初始化块、初始化块和构造方法
1.楔子java中的初始化块是一个不常用但是非常使用的语法,其中也有一些易错的点,这里对一些点进行澄清。2. Java中初始化块(第二节番外篇)在Java中,有两种初始化块:静态初始化块和非静态初始化块。它们都是定义在类中,用大括号{}括起来,静态代码块在大括号外还要加上static关键字。2.1 非静态初始化块(构造代码块):作用:给对象进行初始化。对象一建立就运行,且优先于构造函...原创 2019-03-30 12:57:08 · 1407 阅读 · 0 评论 -
Java:双括号初始化 / 匿名内部类初始化法
1.楔子在开发中一个常见的操作就是新建Map或者List并进行初始化,但是在java的集合框架中并未提供好的初始化方式,只能先new,然后在一个个的put,但这样显得非常的low,如何才能优雅的初始化常见集合呢?2. 一个看似很装逼的方式2.1 代码实例这种初始化方式使用了匿名内部类和非静态初始化块的奇技淫巧方式,详见代码如下:package com.sino.daily.code_20...原创 2019-03-30 12:52:49 · 1210 阅读 · 1 评论 -
java手机号、身份证信息脱敏
package com.sinosun.travel.util;import org.apache.commons.lang.StringUtils;/** * Created by caogu on 2018/8/24 17:07. * Copyright (c) Sinosun Technology Co., Ltd 2018 */public class CommonUtil...原创 2018-08-24 17:54:39 · 27032 阅读 · 4 评论