![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【JavaSE】
文章平均质量分 70
.
在路上s
生如蝼蚁当立鸿鹄之志,命似纸薄应有不屈之心。
展开
-
关于变量在for内部new还是先在循环外定义的一些思考
关于变量在for内部new还是先在循环外定义的一些思考转载 2022-01-22 15:36:27 · 1461 阅读 · 0 评论 -
StringUtils里的isEmpty方法和isBlank方法的区别
前言我们常说的字符串为空,其实就是一个没有字符的空数组。比如:String a = "";a 就可以称为是一个空字符串。由于 String 在 Java 中底层是通过 char 数组去存储字符串的,所以空字符串对应的 char 数组表现形式为private final char value[] = new char[0];但实际工作中,我们可以需要对字符串进行一些校验,比如...转载 2019-12-19 10:09:30 · 237 阅读 · 0 评论 -
list集合为空或为null的区别
简述判断一个list集合是否为空,我们的惯性思维是判断list是否等于null即可,但是在Java中,list集合为空还是为null,这是两码事。引用举个形象的例子,我有一个空着的水杯(list),而你没有,那你是null,我的size为0。你想装水就需要自己去买个水杯(new ArrayList();),但是我就可以直接装水(list.add(水))。你要是没有杯子直接倒水,水就流出...转载 2019-11-29 14:14:11 · 653 阅读 · 0 评论 -
Java中分割字符串
plit 的实现直接调用的 matcher 类的 split 的方法。在使用String.split方法分隔字符串时,分隔符如果用到一些特殊字符,可能会得不到我们预期的结果。在正则表达式中有特殊的含义的字符,我们使用的时候必须进行转义,示例:public class StringSplit { public static void main(String[] args) { ...转载 2019-01-21 22:34:07 · 4098 阅读 · 0 评论 -
java获取Date时间的各种方式汇总
1. 常用的时间获取方式public class DateUtils { /** * 获取时间戳 * 输出结果:1438692801766 */ @Test public void getTimeStamp() { Date date = new Date(); long times = date.getTime(); System.o...转载 2019-01-24 00:06:13 · 28583 阅读 · 2 评论 -
JavaWeb实现qq邮箱验证(一)
需求:用户注册时给邮箱发送邮件,得到验证码并填写,进行激活邮箱。有基础的可以直接看下篇JavaWeb实现qq邮箱验证(二):https://blog.csdn.net/BlackPlus28/article/details/85114001首先一步一步来写,这篇是以java简单的发送邮件一、设置发件人的邮箱和密码等 // 下面需要补充的是,你自己的邮箱和授权码还...原创 2018-12-17 10:05:33 · 5690 阅读 · 27 评论 -
抽象类是否可继承实体类
题目如下:问: 抽象类是否可继承实体类 (concrete class)答: 抽象类是可以继承实体类,但前提是实体类必须有明确的构造函数 -------------------答案很明确,可以继承。其实从Object就是个实体类,java的API文档里,每个抽象类的条目里都明确写着直接或间接继承自Object,所以这点是没有疑问的。关键在于这答案里所说的“前提是实体类必...转载 2018-12-26 18:00:49 · 482 阅读 · 0 评论 -
System.err.println()和System.out.println()区别
看了些资料总结下:1.JDK文档对两者的解释:out:“标准”输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。err:“标准”错误输出流。此流已打开并准备接受输出数据。通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。按照惯例,此输出流用于显示错误消息,或者显示那些即使用户输出流(变量 out 的值)已经重定向...转载 2019-02-13 22:02:20 · 543 阅读 · 0 评论 -
JAVA – 虚函数、抽象函数、抽象类、接口
1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数PS: 其实C++和Java在虚函数的观点大同小异,异曲同工罢了。 2. Java抽象函数(纯虚函...转载 2018-12-10 10:15:50 · 142 阅读 · 0 评论 -
Integer与int的种种比较你知道多少?
如果面试官问Integer与int的区别:估计大多数人只会说道两点,Ingeter是int的包装类,int的初值为0,Ingeter的初值为null。但是如果面试官再问一下Integer i = 1;int ii = 1; i==ii为true还是为false?估计就有一部分人答不出来了,如果再问一下其他的,估计更多的人会头脑一片混乱。所以我对它们进行了总结,希望对大家有帮助 packa...转载 2019-02-21 22:14:25 · 210 阅读 · 0 评论 -
String类型转换BigDecimal、Date类型
String类型转换BigDecimal类型public static void main(String[] args) { String str1="2.30"; BigDecimal bd=new BigDecimal(str1); System.out.println(bd); }Java String类型转换成D...转载 2019-01-30 21:41:58 · 1940 阅读 · 0 评论 -
NIO与传统IO的区别
传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。小量的线...转载 2019-03-03 16:59:59 · 639 阅读 · 0 评论 -
java.lang包中不能被继承的类
public final class Bytepublic final class Characterpublic static final class Character.UnicodeBlockpublic final class Class<T>public final class Compiler //编译器public final class Doublepub...转载 2019-03-12 14:02:50 · 223 阅读 · 0 评论 -
java接口中方法、属性修饰符详解
java接口的修饰符:abstract(inteeface本身就是抽象的,加不加abstract都一样)。接口中字段的修饰符:public static final(默认不写)如下解释:public: 使接口的实现类可以使用这个常量static:接口不涉及和任何具体实例相关的细节,因此接口没有构造方法,不能被实例化,没有实例变量,只有静态(static)变量。...原创 2018-06-28 22:41:47 · 35388 阅读 · 1 评论 -
运算符的优先级(从高到低)
java运算符优先级记忆口诀尊重原创:(口诀)转自http://lasombra.iteye.com/blog/991662 今天看到《java编程思想》中的运算符优先级助记口诀,不过“Ulcer Addicts Really Like C A lot”在中文语境下不好记。我试着写一个口诀: 单目乘除为关系,逻辑三目后赋值。 单目:单目运算符+ –(负数) ++ -- 等 乘...转载 2018-10-25 10:11:24 · 33569 阅读 · 0 评论 -
Java 求两个整数的最大公约数和最小公倍数
笔试题 ----求两个整数的最大公约数和最小公倍数使用辗转相除法可以快速的实现求最大公约数,而最小公倍数可以通过最大公约数求出。import java.util.Scanner;/** * 求两个整数的最大公约数和最小公倍数 * @author LENOVO * */public class demo4 { public static void main(String[] ...原创 2018-10-19 00:19:55 · 4426 阅读 · 0 评论 -
Java面试题:详细说明一下可重入锁ReentrantLock的原理
原文地址:https://baijiahao.baidu.com/s?id=1594800969528243663&wfr=spider&for=pc一个关于打水的小故事话说从前有一个村子,在这个村子中有一口水井,家家户户都需要到这口井里打水喝。由于井水有限,大家只能依次打水。为了实现家家有水喝,户户有水用的目标,村长绞尽脑汁,最终想出了一个比较合理的方案。首先,在水井...转载 2018-09-18 21:49:38 · 7292 阅读 · 3 评论 -
java中Switch(expr)里面的参数的类型是?
在Java5以前,switch(expr)中,exper只能是byte,short,char,int类型在JDK1.6:引入enumJDK1.7时:又增加了Stringpublic static void main(String[] args) { switch ("123") { case "123": System.out.println("1234"); b...原创 2018-09-18 17:10:01 · 3378 阅读 · 0 评论 -
trim函数去掉字符串首尾空格
trim():去掉字符串首尾的空格。public class trimDemo{ public static void main(String arg[]){ String a=" hello "; // 前后均有空格 String b="hello"; // 前后均无空格 System.out.println(b.equals(a)); /...原创 2018-09-07 18:44:44 · 2404 阅读 · 0 评论 -
操作系统中 heap 和 stack 的区别
操作系统中 heap 和 stack 的区别(2016年腾讯校招笔试)概念: 堆栈是两种数据结构,是一种数据项按序排列的数据结构,只能在一端进行插入和删除操作。堆为队列优先,先进先出(FIFO)。栈为先进后出(FILO)。区别:一、空间区别: 1.堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,分配方式类似于链表。PS:java中都是...原创 2018-08-13 20:24:29 · 358 阅读 · 0 评论 -
方法重载和重写的区别
一、方法重载(overload)重载方法的定义是在同一个类中,某方法允许存在一个以上的同名方法,只要它们的参数列表不同即可。方法重载的作用:屏蔽了同一功能的方法由于参数不同所造成方法名称不同。方法重载判断原则: “两同一不同”两同:同类中,方法名相同;一不同:方法参数列表不同(参数类型、参数个数、参数顺序); 只要参数类型,参数个数,参数顺序有一个不同,参数列表就不同.注意:方法重载和...原创 2018-06-22 16:51:09 · 532 阅读 · 0 评论 -
java时间类的使用和区别
java中经常使用的6大时间类:java.util.Date 日期格式:年月日时分秒java.sql.Date 日期格式:年月日java.sql.Time 日期格式:时分秒java.sql.Timestamp 日期格式:年月日时分秒纳秒 从数据库中取出来的日期一般都用getTimestamp(...原创 2018-06-20 20:56:00 · 388 阅读 · 0 评论 -
编译时异常和运行时异常
一,异常的概念Throwable: 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误):是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而表示代码运行时 JVM(Java 虚拟机)出现的问题。例如,Java虚拟机运行错误(Virtual Mac...转载 2018-09-19 21:35:58 · 2162 阅读 · 0 评论 -
Java中的native修饰符
今天偶然看代码,发现别人有这样写的方法,并且jar里面有几个dll文件,比较奇怪,于是把代码打开,发现如下写法。public native String GSMModemSMSReadAll(String s, int i);public native String GSMModemGetErrorMsg(String s);public native boolean GSMModemI...转载 2018-09-20 21:39:01 · 179 阅读 · 0 评论 -
java多线程--同步锁、
同步代码块:语法:synchronized(同步锁){ 需要同步操作的代码}---------------------------------------------------同步锁:为了保证每个线程都能正常执行原子操作,Java引入了线程同步机制.同步监听对象/同步锁/同步监听器/互斥锁:对象的同步锁只是一个概念,可以想象为在对象上标记了一个锁....原创 2018-10-09 13:33:24 · 1216 阅读 · 0 评论 -
进程和线程
进程和线程:进程是指一个内存中运行中的应用程序。每个进程都有自己独立的一块内存空间,一个应用程序可以同时启动多个进程。比如在Windows系统中,一个运行的abc.exe就是一个进程。线程是指进程中的一个执行任务(控制单元),一个进程可以同时并发运行多个线程,如:多线程下载软件。多任务系统,该系统可以运行多个进程,一个进程也可以执行多个任务,一个进程可以包含多个线程.一个进程至少有...原创 2018-10-09 13:27:44 · 264 阅读 · 0 评论 -
collection与collections区别
collection是一个接口。 他抽取出各种集合<继承List和Set>的主要功能,并做出统一行为规范。 他是很多集合的祖辈接口,没错父辈接口是List和Set。Collections是一个工具类。 工具类是工具,就像Math,Arrays类一样,他是一种工具,集成了很多特定的功能。 比如排...原创 2018-10-12 23:18:13 · 664 阅读 · 0 评论 -
StringTokenizer的使用
StringTokenizer是一个用来分隔String的应用类。1. 构造函数。1. StringTokenizer(String str) :构造一个用来解析str的StringTokenizer对象。java默认的分隔符是“空格”、“制表符(‘\t’)”、“换行符(‘\n’)”、“回车符(‘\r’)”。2. StringTokenizer(String str, String d...转载 2018-10-06 10:35:34 · 887 阅读 · 0 评论 -
String数组的创建
string数组的定义有三种写法:String[] arr = new String[10]; //创建一个长度为10的String 类型数组。String arr[] = new String[10]; String arr[] = {"张三","李四"};前面两种写法是一样的,可以互换,但是建议使用前者 String[] arr因为java是强类型语言,声明...原创 2018-10-06 10:29:05 · 84683 阅读 · 3 评论 -
String、StringBuilder和StringBuffer
这三个类之间的区别主要是在两个方面,即运行速度和线程安全这两方面。首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String String最慢的原因: String为字符串常量,而StringBuilder和StringBuffer均为字符串变量,即String对象一旦创建之后该对象是不可更改的,但...原创 2018-10-12 20:11:41 · 142 阅读 · 0 评论 -
Java 中构造器、初始化块、静态初始化块的执行顺序
静态初始化块 > 初始化块 > 构造器 父类 > 子类综合下来顺序就是:父类静态初始化块 子类静态初始化块 父类初始化块 父类构造器 子类初始化块 子类构造器需要注意静态初始化块是在类第一次加载的时候就会进行初始化。...原创 2018-09-20 22:25:49 · 277 阅读 · 0 评论 -
单例模式(Singleton)应用场景和优缺点
单例(Singleton)模式 也叫单态模式概述:单例(Singleton)模式要求一个类有且仅有一个实例,并且提供了一个全局的访问点。这就提出了一个问题:如何绕过常规的构造器,提供一种机制来保证一个类只有一个实例?客户程序在调用某一个类时,它是不会考虑这个类是否只能有一个实例等问题的,所以,这应该是类设计者的责任,而不是类使用者的责任。 从另一个角度来说,Singleton模式其实也是一...转载 2018-09-20 22:13:22 · 1622 阅读 · 0 评论 -
java之---冒泡排序
首先,什么是冒泡排序(BubbleSort)呢? 对未排序的各元素从头到尾依次比较相邻的两个元素大小关系,若大于则交换位置,经过第一轮比较排序后可得出最大值,然后使用同样的方法把剩下的元素逐个比较即可。 假如有N个元素,那么一共要进行N-1轮比较,第M轮要进行N-M次比较。(若6个元素,要进行6-1轮比较,第一轮比较6-1次,第四轮比较6-4次) pa...原创 2018-05-26 18:26:49 · 177 阅读 · 0 评论