![](https://img-blog.csdnimg.cn/20190922105913139.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
base
Java是由公司于1995年5月推出的面向对象程序设计语言和Java平台的总称。
lazy_cat_go
这个作者很懒,什么都没留下…
展开
-
Comparator.reverseOrder()为什么就反转了
public class Selection { public static void main(String[] args) { Integer arr[] = {4, 6, 8, 7, 9, 2, 10, 1}; sort(arr, Comparator.reverseOrder()); System.out.println(Arrays.toString(arr)); } /** * 自定义排序 *原创 2021-06-10 18:57:41 · 2071 阅读 · 0 评论 -
this.show(object)、super.show(object)、this.show((super)o)、super.show((super)o)
class A { public String show(D obj) { return ("A and D"); } public String show(A obj) { return ("A and A"); }}class B extends A{ public String show(B obj){ return ("B and B"); } public String show(A原创 2021-06-08 16:59:34 · 391 阅读 · 0 评论 -
Comparable和Comparator排序
一般情况下我们都是对数字或者字符串排序,如何对对象进行排序呢?例如Order对象Student对象,那么就需要Order对象、Student对象实现Comparable接口按照年龄从大到小排序@Getter@Setter@ToStringpublic class Student implements Comparable<Student> { private int age; private String name; @Override publi原创 2021-06-08 14:54:51 · 243 阅读 · 0 评论 -
线程简介
备注:java模拟出来的多线程都是相对单核来说的,真正的多线程是指多个核。一边上厕所一边玩手机(相当于多核),真正意义上实现了在同一时刻干多个进程Process电脑中的应用程序就是进程,例如qq音乐、idea、微信。。。等等,进程中有若干个线程进程是系统分配的资源,真正执行代码的是线程线程Thread单线程单线程一边吃饭一边玩手机,其实在某一瞬间只能干一件事,只是切换的速度很快,看起来像两件事一起做(单核创建出多个线程一会干这个一会干那个)线程就是独立的执行路径在程序运行时,即原创 2021-04-21 16:04:14 · 63 阅读 · 0 评论 -
jdk1.8新特性
java8(jdk1.8),是java语言的一个主要版本,oracle公司于2014年3月18日发布的。支持Lambda表达式函数式接口新的Stream API新的日期APILambda表达式定义Lambda表达式:特殊的匿名内部类,语法更简洁,允许把函数作为一个方法的参数Lambda表达式语法<函数式接口> <变量名> = (参数1,参数2...)-{ 方法体;}Lambda表达式总结箭头将表达式分为两部分,左侧为参数,右侧为方法体形参类型可原创 2021-04-18 22:26:31 · 170 阅读 · 1 评论 -
用ThreadLocal解决SimpleDateFormat线程不安全问题
import java.text.*;import java.util.Date;import java.util.HashMap;import java.util.Map;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class DataUtils { private DataUtils() { } /** * key为p原创 2021-04-17 12:22:01 · 243 阅读 · 0 评论 -
javaIO模型
bio模型(block-io)bio模型又叫同步阻塞io二狗在向老师体温的时候,其他三位同学只能等待!二狗的问题解答完成之后,才能继续解答其他同学。同步:老师在同一时间只能给一位同学解答问题阻塞:如果二狗突然陷入沉思,没有和老师说话,那么老师只能等待。阻塞的过程是不占用系统资源的当客户端发起请求,服务端接收到请求开始调用操作系统api,如果无数据则阻塞(不占用系统资源),对于服务端来说其他客户端请求也接收不到,当有数据的时候,开始读数据,并响应给服务端。上面的代码,服务端在第一个客原创 2021-04-12 22:34:08 · 81 阅读 · 0 评论 -
uri和url的区别
uri资源文件精准定位,在请求行中并没有uri这个属性实际上是url中截取一个字符串,这个字符串格式"/网站名/资源文件名"uri用于让http服务器对被访问的资源文件进行定位原创 2021-04-07 21:51:53 · 94 阅读 · 0 评论 -
数组里面的内容也为空怎么判断{“”}
public static void main(String[] args) { String a = ""; String[] a1 = a.split(","); System.out.println(ArrayUtil.isAllEmpty(a1)); } public static boolean isEmpty(Object obj) { if (null == obj) { return true; } if...原创 2021-03-25 17:32:41 · 614 阅读 · 0 评论 -
java字符串拼接
public static void main(String[] args) { long current1 = System.currentTimeMillis(); String result = ""; for (int i = 0; i < 100000; i++) { result += "六六六"; } long current2 = System.currentTimeMill...原创 2021-03-23 19:28:22 · 66 阅读 · 0 评论 -
注解的特殊语法
特殊语法一:如果注解本身没有注解类型元素,那么在使用注解的时候可以省略(),直接写为:@注解名,它和标准语法@注解名()等效!特殊语法二:如果注解本本身只有一个注解类型元素,而且命名为value,那么在使用注解的时候可以直接使用:@注解名(注解值),其等效于:@注解名(value = 注解值)特殊语法三如果注解中的某个注解类型元素是一个数组类型,在使用时又出现只需要填入一个值的情况,那么在使用注解时可以直接写为:@注解名(类型名 = 类型值),它和标准写法:@注解名(类型名 = {类型值})等效!原创 2020-07-07 19:47:44 · 187 阅读 · 0 评论 -
自定义注解的创建过程
注解的定义注解是一种能被添加到java代码中的元数据,类、方法、变量、参数和包都可以用注解来修饰。注解可以看作是一种特殊的标记,可以用在方法、类、参数和包上,程序在编译或者运行时可以检测到这些标记而进行一些特殊的处理。注解的基本元素修饰符访问修饰符必须为public,不写默认为pubic;关键字@interface;注解名称注解名称为自定义注解的名称,使用时还会用到;注解类型元素注解类型元素是注解中内容,可以理解成自定义接口的实现部分;@Component@Targe原创 2020-07-07 11:26:59 · 278 阅读 · 0 评论 -
TCP/IP协议
TCP/IP协议是参考OSI模型设计的1.应用层:应用程序之间相互沟通的层2.传输层:提供了数据传送,应用程序之间的通信服务3.网络互联层:负责提供基本数据包装传送功能,让每一块数据包都能够到达目标主机4.网络接口层:接收数据,并进行数据传输TCP/IP协议不是一个协议,而是很多协议组成总结+摘抄 大白话解释见:https://blog.csdn.net/taotongning/article/details/81352985...原创 2020-05-25 18:44:57 · 174 阅读 · 0 评论 -
OSI七层模型
互联网的本质就是一系列的网络协议,这个协议就叫OSI协议(一系列协议),按照功能不同,分工不同,人为的分层七层。实际上这个七层是不存在的。没有这七层的概念,只是人为的划分而已。区分出来的目的只是让你明白哪一层是干什么用的。每一层都运行不同的协议。协议是干什么的,协议就是标准。实际上还有人把它划成五层、四层。七层划分为:应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。五层划分为:应用层、传输层、网络层、数据链路层、物理层。四层划分为:应用层、传输层、网络层、网络接口层。1.应用层:所转载 2020-05-25 18:26:43 · 160 阅读 · 0 评论 -
计算机编程语言的分类
什么是计算机程序计算机程序就是一组需要cpu处理的二进制数据计算机编程语言的分类机器语言:有0和1组成的二进制汇编语: 如果用ADD表示加法,简化了一些中间过程,最终都会转成0和1高级语言:java c c++ python,大大的简化了中间过程,最终都会转成0和1...原创 2020-05-25 17:48:12 · 313 阅读 · 0 评论 -
计算机的存储单位
人类世界描述数据用十进制,计算机世界描述数据(数值,文字,声音,图像,鼠标点击,键盘按键等)使用二进制。计算由各种电路板组成的,电路的走向就是数据,而电路的走向只有两条路,所以用0 1 表示位:计算机中表示信息的最小单位,用来表示一个二进制,用bit表示,8位二进制信息位一个字节,字节是计算机处理信息的最小单位,B表示1B=8bit 1个字节等于8个二进制1kb=1024B1GB=1024MB1TB=1024GB1PB=1024TB...原创 2020-05-25 17:23:08 · 241 阅读 · 0 评论 -
字符串转换 LocalDateTime
@Test public void testStrConvertLocalDateTime(){ LocalDateTime parse = LocalDateTime.parse("1970-01-01 00:00:00", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); System.out.println(parse); }1970-01-01T00:00原创 2020-09-02 17:05:17 · 1585 阅读 · 0 评论 -
Assert.assertNotSame(Object unexpected, Object actual)
检查两个相关对象是否不指向同一个对象@Data@AllArgsConstructor@NoArgsConstructorpublic class User { private String name; private Address address;}@Data@AllArgsConstructor@NoArgsConstructorpublic class Address { private String city; private String co原创 2020-07-18 20:46:23 · 490 阅读 · 0 评论 -
java序列化
什么是序列化序列化:把对象写入io流中反序列化:从io流中恢复对象为什么要序列化为了方便传输举例说明:我要给我的朋友邮寄一箱饼干,但是因为体积太大,就全压成粉末紧紧的一包寄过去。只不过java还有反序列化可以还原如何实现序列化实现Externalizable接口public interface Externalizable extends java.io.Serializable { void writeExternal(ObjectOutput out) throws原创 2020-07-08 16:22:06 · 118 阅读 · 0 评论 -
什么是元数据MetaData
元数据是用来描述数据的数据(Data that describes other data)例如去面试的时候hr会拿着一张表格,上面有姓名、性别、民族、年龄。。。等姓名、性别、民族、年龄。。。等元数据用来刻画个人状况...原创 2020-07-06 18:53:38 · 487 阅读 · 0 评论 -
java &&和||的优先级
&&高于|| public static void main(String[] args) { boolean a = true; boolean b = false; System.out.println(a&&b||a);//true System.out.println(a||a&...原创 2020-02-19 22:40:12 · 1106 阅读 · 0 评论