Java基础
文章平均质量分 58
CarryJey
一、任何事都没有表面看起来那么简单;
二、所有的事都会比你预计的时间长;
三、会出错的事总会出错;
四、如果你担心某种情况发生,那么它就更有可能发生。
展开
-
链地址法手写HashMap
手写HashMap原创 2023-02-28 17:39:17 · 167 阅读 · 0 评论 -
既生@Resource,何生@Autowired,是Spring官方没事做?
spring @Resource @Autowired原创 2023-02-15 15:36:38 · 123 阅读 · 0 评论 -
IDEA快捷键贴
等号左侧补全-输入.var回车如我们要得到String name = “zhangsan”;只需输入"zhangsan".var 然后回车即可原创 2020-06-11 11:50:32 · 292 阅读 · 1 评论 -
BigDecimal的简单使用
一、作用常用于高精度要求,BigDecimal可精确到20位比如:涉及钱的时候常用二、基础使用 //通过new BigDecimal(double)赋值 BigDecimal bigDecimal = new BigDecimal(5.5); //加 bigDecimal.add(BigDecimal.ONE); ...原创 2018-10-22 21:25:36 · 1435 阅读 · 0 评论 -
技术分享
说明:本篇博客只是记录一些有用的技术方法,不做具体说明,大家可参考然后自己去查阅相关资源 1、根据ip获取用户地理位置信息2、关于服务的启动和更新,提供一个思路:当切换服务时,先检测是否仍有工作线程,直到工作线程全部结束后,停止旧的服务,然后更新启动新服务。3、常见的用户白名单限制,可单独抽取成一个服务,白名单是否生效,建议配置到一个json-config中,通过后端维护来进行开关...原创 2018-10-28 11:12:26 · 827 阅读 · 0 评论 -
Java常见的容器类及其区别
一、分类:大类型主要分为以下两种类型1)Collection:一个独立元素的序列,这些元素都服从一条或者多条规则。 List必须按照插入的顺序保存元素,而set不能有重复的元素。Queue按照排队规则来确定对象产生的顺序(通常与它们被插入的顺序相同)。 2)Map:一组成对的“键值对”对象,允许你使用键来查找值。细分如下: |Collection | ├List | │--...原创 2018-06-29 12:07:49 · 14142 阅读 · 3 评论 -
==和 equals 的区别
前言:关于这个问题,之前一直迷迷糊糊的,网上各种版本,乱七八糟的,从书上找到的正解如下,希望网上这些误人时间误人正确认识的事情少一些。 ==和 equals 的区别?1、equals 和== 最大的区别是一个是方法一个是运算符。2、==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的地址值是否相等。equals():用来比...原创 2018-06-29 16:10:19 · 179 阅读 · 0 评论 -
抽象类(abstract class)和接口(interface)有什么异同?
不同:抽象类:1. 抽象类中可以定义构造器2.可以有抽象方法和具体方法3.接口中的成员全都是 public 的4.抽象类中可以定义成员变量5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法6.抽象类中可以包含静态方法7.一个类只能继承一个抽象类接口:1.接口中不能定义构造器2.方法全部都是抽象方法3.抽象类中的成员可以是 private、...原创 2018-06-29 16:14:29 · 348 阅读 · 0 评论 -
下面 Integer 类型的数值比较输出的结果为?
输出: f1==f2 结果为 true f3==f4 结果为 false解析:如果整型字面量的值在-128 到 127 之间,那么不会 new 新的 Integer 对象,而是直接引用常量池中的 Integer 对象,所以上面的题中 f1==f2 的结果是 true,而 f3==f4 的结果是 false。————————————————————...原创 2018-06-29 17:35:31 · 891 阅读 · 0 评论 -
rsa公钥私钥生成方式
rsa公钥私钥生成方式1)使用openssl terminal使用openssl命令: 输入openssl进入OpenSSL>模式 #生成私钥,1024是密钥长度 OpenSSL> genrsa -out rsa_private_key.pem 1024 #将私钥转换成PKCS8格式(按实际需要) OpenSSL> p...原创 2018-11-10 15:15:14 · 13023 阅读 · 0 评论 -
日志查看命令总结
1、查看最新日志tail -f filename2、规定行数显示tail -n 1000:显示最后1000行tail -n +1000:从1000行开始显示,显示1000行以后的head -n 1000:显示前面1000行从第3000行开始,显示1000行。即显示3000~3999行cat filename | tail -n +3000 | head -n 100...原创 2018-11-10 19:39:55 · 900 阅读 · 0 评论 -
Java-Function接口函数使用
java.util.function中的Function,Supplier,Predicate和其他函数式接口广泛应用在支持lambda表达式的API中。在此简单介绍Function接口Fuction接口的主要方法有:R apply(T t) : 将对象对应到输入参数上并返回计算结果default<V> Function<T,V> : 将两个fuction整...原创 2018-11-08 15:53:01 · 6060 阅读 · 1 评论 -
解析xml并去读写相应数据
一、解析xml字符串步骤有些比较老的服务会通过传输xml字符串来进行传递参数对于这种场景,(在此采用dom4j的方式解析)获取数据步骤如下: //将xml字符串转为Document格式 Document doc = DocumentHelper.parseText(xml_String); //定位获取某节点 Node node = doc.select...原创 2018-11-15 20:21:54 · 565 阅读 · 0 评论 -
Lambda表达式()-> {}
1、Lambda 表达式简介Lambda 表达式是一种匿名函数(对 Java 而言这并不完全正确,但现在姑且这么认为),简单地说,它是没有声明的方法,也即没有访问修饰符、返回值声明和名字。你可以将其想做一种速记,在你需要使用某个方法的地方写上它。当某个方法只使用一次,而且定义很简短,使用这种速记替代之尤其有效,这样,你就不必在类中费力写声明与方法了。Java 中的 Lambd...原创 2018-09-30 13:57:04 · 10636 阅读 · 0 评论 -
关于servlet的@WebServlet注解
@WebServlet注解用于标注在一个继承了HttpServlet类之上,属于类级别的注解。 1、jsp页面 通过action提交到RegistServlet 类: <form action="RegistServlet " method="post" >2、创建RegistServlet类来处理jsp页面发出的请求用法形如:@WebServlet("/...原创 2018-06-25 21:54:35 · 63856 阅读 · 2 评论 -
Collection、ArrayList、HashMap、HashSet转为线程安全(集合的安全性问题)
前言:Collection、ArrayList、HashMap、HashSet都是非同步的,线程不安全的在集合中 Vector 和 HashTable 倒是线程安全的,打开源码会发现其实就是把各自核心方法添加上了synchronized 关键字。转换方法:Collections 工具类提供了相关的 API,可以让上面那 3 个不安全的集合变为安全的:1. // Collection...原创 2018-06-29 20:18:34 · 7136 阅读 · 0 评论 -
Java四种线程池及基础用法总结
一、为什么要用线程池:1.节约系统资源,减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。2.可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。3.方便对线程进行管理。new Thread的弊端new Thread(new Runnable() { ...原创 2018-07-01 21:28:24 · 162 阅读 · 0 评论 -
Java常用基本数据类型的转换
一、将基本数据型态转换成字符串 String.valueOf()(1)String.valueOf(boolean b) : 将 boolean 变量 b 转换成字符串 (2)String.valueOf(char c) : 将 char 变量 c 转换成字符串 (3)String.valueOf(char[] data) : 将 char 数组 data 转换成字符串 (4)Strin...原创 2018-07-19 21:09:26 · 434 阅读 · 0 评论 -
mac版Typora下载及使用
下载建议到官网下就行了,实在不行私聊我。私发安装包支持显示目录大纲Typora 还可以根据当前文档的标题层级,自动生成显示大纲,将光标移动到窗口右上角,就会出现字数统计和大纲预览,如果有需要的话,还可以将目录层级固定在左侧显示。标题在你想插入标题的地方输入# 标题内容(PS:#号后面是有一个空格的),一共有6级标题。举例:# 一阶标题## 二阶标题### 三阶标题...原创 2018-07-21 11:21:55 · 9815 阅读 · 3 评论 -
Java中Split的坑
遇到问题:字符串spilt之后赋值给数组,继续给数组赋值之后发现ArrayIndexOutOfBoundsException原因:split切分之后会重新定义数组的长度。 String te[] = new String[9]; te[3] = "11"; String v = "1,2,3"; te = v.split(",...原创 2018-09-15 19:38:32 · 986 阅读 · 0 评论 -
正则表达式
1、普通字符普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。2、非打印字符非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:字符 描述 \cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z ...原创 2018-09-17 15:30:03 · 541 阅读 · 0 评论 -
终端生成base64随机码
有时需要快速生成base64的字符串,可使用终端快速生成。openssl rand 32 -base64生成的字符如下:t4bbDwxtMzj9efw+iiKqlZDpUzUBbG9emWyNys0DTdQ=何为base64码: Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。可...原创 2018-09-20 13:16:16 · 4054 阅读 · 0 评论 -
Map集合的四种遍历方式
import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class TestMap { public static void main(String[] args) { Map<Integer, String> map = new HashMap<...转载 2018-09-15 15:36:28 · 154 阅读 · 0 评论 -
java将图片转换为base64码及解析base64为图片
1、基本流程2、图片转化成base64字符串public static String GetImageStr(String imgFile) {//将图片文件转化为字节数组字符串,并对其进行Base64编码处理 InputStream in = null; byte[] data = null; //读取图片字节...原创 2018-09-20 14:01:30 · 6420 阅读 · 1 评论 -
Json字符串、Json对象、java对象之间的转换
JSONObject 不知道哪来的那么多的,又是alibaba的,又是org.json,又是net.minidev.json,统统都是废物在这里全部用的: import net.sf.json.JSONObject;反正在转换方面最有效的还是JSONObject.fromObject。话不多说,上例子package com.sky.hrpro.service;import c...原创 2018-09-28 20:46:22 · 1479 阅读 · 0 评论 -
Java中的Math类中常用的方法
public class Demo{ public static void main(String args[]){ /** *Math.sqrt();//计算平方根 *Math.cbrt();//计算立方根 *Math.pow(a, b);//计算a的b次方 *Math.max( , );//计...原创 2018-06-29 16:35:39 · 314 阅读 · 2 评论