![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础
IT_cannon
一只技术小白。
展开
-
最常用的64条正则表达式写法,请收好!
最常用的正则表达式写法,请收好!一、校验数字的表达式1. 数字:^[0-9]*$2. n位的数字:^\d{n}$3. 至少n位的数字:^\d{n,}$4. m-n位的数字:^\d{m,n}$5. 零和非零开头的数字:^(0|[1-9][0-9]*)$6. 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7. 带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8. 正数、负数和小数:^(\-)?\d+(\.\d{1,2})?$原创 2020-09-08 09:27:07 · 529 阅读 · 0 评论 -
最频繁最通用的十六种Java工具类
最频繁最通用的十六种Java工具类在Java中,工具类定义了一组公共方法。今天工作之余,抽空整理了16种最常用的Java工具类,以下的工具类、方法按使用流行度排名,不会的童鞋们抓紧记忆一下!一、org.apache.commons.io.IOUtilscloseQuietly:关闭一个io流、socket、或者selector且不抛出异常,通常放在finally块toString:转换io流、uri、byte[]为Stringcopy:IO流数据复制,从输入流写道输出流中,最大支持2GBto原创 2020-08-08 15:25:13 · 1963 阅读 · 3 评论 -
三分钟搞定HashMap底层原理
最通俗易懂搞定HashMap的底层原理HashMap的底层原理面试必考题为什么面试官如此青睐这道题?HashMap里面涉及了很大的知识点,可以比较全面考察面试者的基本功,想要拿到一个好offer,这是一个迈不过的坎,接下来我用最通俗易懂的语言带着大家揭开HashMap的神秘面纱。一、HashMap的节点HashMap是一个集合,键值对的集合,源码中每个节点用Node<K,V>表示static class Node<K,V> implements Map.Entry<转载 2020-08-07 15:47:13 · 185 阅读 · 0 评论 -
四十条代码优化建议,纯干货!
四十条代码优化建议,纯干货!前言代码优化最重要的作用应该是避免未知的错误,因此在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量。所以说,代码优化的目标是减小代码体积、提高代码运行效率。优化是无止境的,本文也只是给出了一些常见的优化建议。1. 尽量指定类、方法的final修饰符带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。原创 2020-08-05 15:26:20 · 2180 阅读 · 0 评论 -
请使用System.currentTimeMillis()代替new Date().getTime()
请使用System.currentTimeMillis()代替new Date().getTime()Java中使用new Date()和System.currentTimeMillis()获取当前时间戳在开发过程中,通常很多人都习惯使用new Date()来获取当前时间,使用起来也比较方便,同时还可以获取与当前时间有关的各方面信息,例如获取小时,分钟等等,而且还可以格式化输出,包含的信息是比较丰富的。但是有些时候获取你并不需要获取那么多信息,你只需要关心它返回的毫秒数就行了,例如getTime()原创 2020-08-04 09:16:20 · 3876 阅读 · 0 评论 -
面向对象的三大特性:封装、继承、多态
面向对象的三大特性:封装、继承、多态一、封装1. 什么是封装封装(Encapsulation)是面向对象方法的重要原则,就是把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能隐藏对象的内部实现细节。将类的某些信息隐藏在类的内部,不允许外部程序进行直接的访问调用。通过该类提供的方法来实现对隐藏信息的操作和访问。隐藏对象的信息。留出访问的对外接口。举个比较通俗的例子,比如我们的USB接口。如果我们需要外设且只需要将设备接入USB接口中,而内部是如何工作的,对于使用者来说并不重要。而U原创 2020-08-03 18:07:07 · 261 阅读 · 0 评论 -
Intellij IDEA debug断点调试技巧
Return. 这个就是结束debug模式,直接以run的方式重新跑某个程序。直接跑完,到下一个断点停下,没有就直接跑完程序。停止项目或者程序,要是自己的main呢,点一下就停下了,要是Java web项目,则点2下,就把服务给停了。查看所有的断点设置情况。直接取消所有断点,让所有断点无效。要是你一不小心把这个下面的布局给弄乱了,你点这个,就把下面的布局给还原咯。跳转到当前代码所执行的地方,也就是说你在看代码的时候,点到其他地方,一点这个按钮,就到了程序执行到当前哪行的代码的地方。下一步,..原创 2020-08-03 13:55:10 · 1005 阅读 · 0 评论 -
Java实现异步调用
Java实现异步调用一、创建线程 @Testpublic void test0() throws Exception { System.out.println("main函数开始执行"); Thread thread=new Thread(new Runnable() { @Override public void run() { System.out.println("===task start==="); try { Thread.s原创 2020-07-23 15:24:37 · 383 阅读 · 0 评论 -
深入学习集合框架
集合框架,你不知道的事一、Java集合框架概述集合可以看作是一种容器,用来存储对象信息。所以集合类都位于java.util包下,但支持多线程的集合类位于java.util.concurrent包下。数组与集合的区别如下:数组长度不可变化而且无法保持具有映射关系的数据;集合类用于保存数量不确定的数据,以及保存具有映射关系的数据。数组元素既可以是基本类型的值,也可以是对象;集合只能保存对象Java集合类主要由两个根接口Collection和Map派生出来的,Collection派生出了三原创 2020-07-20 14:39:01 · 105 阅读 · 0 评论 -
Java中字符串的比较
在c++中判断两个字符串str_a,str_b的值是否相等,可以使用if(str_a == str_b)。但是在Java中不能使用if(str_a == str_b)来判断字符串str_a,str_b的值是否相等。“==”判断的是字符串str_a,str_b两个String对象在内存中存储位置是否一致,而不是字符串str_a,str_b的值是否相等。如需判断字符串str_a,str_b的值是...原创 2018-12-08 17:03:01 · 157 阅读 · 0 评论