Java
基础
七qi_
CSDN移动开发领域新星创作者,阿里云开发者社区乘风者计划专家博主,大家未来一起努力呀!
展开
-
Java常用日期类(包含三代)_Date类及Calendar类等
从JDK 1.0出现。表示一个日期和时间,精确到毫秒,内部getTime()从1970年1月1号开始算。DateFormat是日期/时间格式化子类的’抽象类’作用:格式化:(日期——>文本)Date—>String解析:(文本——>日期)String—>Date由于DateFormat是一个抽象类,无法创建对象使用,可以使用其子类SimpleDateFormat。这个类需要一个格式(模式)来指定格式化或者解析的标准。原创 2023-02-24 17:47:28 · 1410 阅读 · 0 评论 -
【Android应用篇】防止连续点击,跳转两页
有时候在小说界面,你想点下一页,然后还没翻过去正翻一半,你又点了一次,结果就翻2页。原创 2023-02-09 11:40:05 · 286 阅读 · 0 评论 -
异常处理finally你2个不知道的知识点
当执行到try和catch中有return时,会先进入finally中。如果finally中有return的话,那么会直接return出去,就不会回到try和catch中的return了。如果finally中执行到return的话,就直接退出了。如果没有执行到return,就会重新回到try和catch中的return并退出。当try和catch中有return时候,finally执行完会不会回到try和catch的return?当try和catch中有return时候,是否会跳过finally?原创 2023-02-07 10:29:26 · 162 阅读 · 0 评论 -
不用Synchronized关键词会出现的问题
结果:多个线程共享ticket变量,会导致ticket的值变为-1甚至-2才停下来,而不是为0才停。用线程同步技术Synchronized加在代码块中即可。原因:没上锁,可能三个线程同时走进if分支。1)请你看看以下的代码有什么问题?2)请你看看以下的代码有什么问题?那么此时怎么解决这个多线程的问题?此时把同个对象放到了不同线程。结果:还是会有负数现象。继承类改为了实现接口。原创 2023-01-23 13:25:26 · 127 阅读 · 0 评论 -
线程和进程概念区别—及线程常用方法和状态
在多线程编程中,有一些敏感数据不应该被多个线程同时访问,此时应该使用同步访问技术,保证数据在任何时刻,最多只能有一个线程访问,保证数据的完整性。调用Thread.sleep方法,Thread.yield方法暂停当前线程的执行(休眠多久,外面的线程就会等多久)线程插队 join(一旦A线程插队成功,则先执行完A线程所有,再继续执行B线程剩下的,相当于阻塞B线程)当前线程的同步方法,同步代码块执行线程对象的wait方法,当前线程暂停,并释放锁。在A线程中通知B线程,控制B线程的变量,通知它退出即可。原创 2023-01-23 11:40:58 · 1096 阅读 · 0 评论 -
线程的2种创建方式
实现Runnbable接口适合多个线程共享一个资源的情况,且避免了单继承的限制。创建Thread对象,把A类的实例对象放进Thread类的构造函数。run方法其实是一个普通方法,是Runnable接口的一个方法。当一个类继承了Thread类,该类就可以当作线程使用。真正实现多线程的start方法中的start0方法。start方法会直接调用dog类中重写的run方法。这是一个本地native方法,由c/c++实现。2)实现Runnable接口,重写run方法。1)继承Thread类,重写run方法。原创 2023-01-19 17:11:37 · 1461 阅读 · 0 评论 -
super关键字
4)如果无重名,也就是子类没有此方法或者属性,用super,this,直接访问三个都是一样的效果。但是有细节,就是第一个super直接从父类开始往上找,而后面两个是从当前类往上找。1)可以访问不限于直接父类甚至爷爷类的除了私有的其他属性,方法。3)子类和父类成员重名,要访问父类要用super。就是必须放在当前类的构造器中调用。就是必须放在当前构造器的第一条。原创 2022-12-20 16:13:06 · 61 阅读 · 0 评论 -
Gson库的基本使用方法
当我们java对象某个属性为null的时候(基础数据类型有默认值),那么序列化的时候不会Gson会忽略掉这个属性。但是集合以及数组的元素有null的时候,就不会忽略。原创 2022-12-20 14:48:01 · 751 阅读 · 0 评论 -
局部变量和成员变量的4个区别
局部变量和成员变量区别原创 2022-11-26 17:44:26 · 149 阅读 · 1 评论 -
IO流以及装饰模式
Java中字符是采用Unicode标准,Unicode 编码中,一个英文字母或一个中文汉字为两个字节。而在UTF-8中,一个英文或数字占1个字节,一个常用汉字占用3个字节,不常用汉字占用4个字节。字节流操作的单元是数据单元是8位的字节(一个字节),字符流操作的是数据单元为16位的字符(两个字节)(不同的编码操作的字节数不同)。原创 2022-12-03 11:41:37 · 276 阅读 · 0 评论 -
Java对象由什么组成
在一个类中无论是否有数据,对象头都是存在的,它是实现synchronized的锁对象的基础。而实例数据所占的内存由字节码文件中的属性来决定,比如一个int类型所占4个byte。在64bit的JVM虚拟机中,一个类的对象的对象头是占12byte的。但是64bit的JVM中每个对象在堆中占的内存必须是8的倍数。则填充数据会自动填充空值,让对象刚好填充到8的倍数。所以如果对象头加实例数据所占的字节数不是8的倍数。由对象头和实例数据和填充数据(可能没有)组成。原创 2022-12-14 16:52:30 · 143 阅读 · 0 评论 -
java_类的2种实例化
【代码】类的2种实例化。原创 2022-12-14 16:51:08 · 76 阅读 · 0 评论 -
java静态加载和动态加载
静态加载在编译的时候JVM就会加载这个类,如果不通过就会报错,比如new一个类的对象动态加载运行且要执行到这段代码的时候,等你运行到这条语句才会加载类,并检查会不会通过,不通过就会报错,比如反射原创 2022-12-10 10:12:26 · 227 阅读 · 0 评论 -
java_回调函数Callback
分为了三种回调函数,从简单到难,也挺好理解目录同步调用异步调用异步回调A方法调用B方法,等B方法执行完,返回结果给A,A才继续往下执行。优点:知道什么时候告诉我结果缺点:会阻塞A方法的执行A方法调用B方法,然后A就继续执行了,不会等B,但是不知道B什么时候返回结果给A。优点:不会阻塞我缺点:不知道什么时候告诉我结果A方法调用B方法,在B的一个方法中要传入一个A的对象,这样后面在B的方法里面就可以调用A的方法才能返回结果给A,然后A就继续执行了,不会等B,但是B运行完了,准备返回一个结果给A,就调用A里面的一原创 2022-12-10 10:32:33 · 391 阅读 · 0 评论 -
java_类向上转型以及动态绑定机制(多态)
语法:父类类型 变量名=new 子类类型();特点:编译类型看左边,运行类型看右边可以调用父类的所有成员,但是private的字段和方法等等都无法调用(要遵守访问权限)不能调用 new 子类类型() 的子类类型特有的方法(父类没有,子类有)最终虽然调用的是父类的方法,但是运行效果看子类重写后的具体实现!就是先去子类看看有没有此方法,如果没有的话,才去父类看。原创 2022-12-12 10:31:43 · 125 阅读 · 0 评论 -
java_接口可以new实例化吗
其实不是的,其实这是一种匿名内部类的写法,new之后的括号中其实可以看做你写了一个类,实现了这个接口,重写了方法,只不过这个类是匿名的,没有名字,所以称为匿名内部类。并且对象的创建最终都是需要调用构造方法,接口中是没有构造方法的,类中显示声明构造方法,但默认有空参构造方法,接口中是没有的。转载链接:https://blog.csdn.net/CPrimer0/article/details/114802249。所以接口是不能够new的,只是匿名内部类的应用。原创 2022-12-13 09:21:51 · 1015 阅读 · 0 评论 -
java_编译,反编译以及java为什么能跨平台
从class文件通过javap反编译得到对应的java文件,能看到一些隐藏的细节。从java源代码通过javac编译到一个class文件。原创 2022-12-13 18:49:08 · 105 阅读 · 0 评论 -
枚举类的写法
将构造器私有化,防止实例化对象去除set方法,保留get方法,防止属性被修改在该类直接创建固定的公有且静态的该类对象,有几个枚举就创建几个对象(即使构造器私有,在该类内部可以访问)重写toString方法,然后打印对象即可输出内容优化:使用静态属性会导致类的加载,所以可以加入final修饰符,优化代码,不会导致类的加载public static Season SPRING=new Season("春天","温暖");......原创 2022-12-13 19:00:08 · 437 阅读 · 0 评论 -
接口(忽略的知识点)
interface 接口名{//属性;//方法;(1.抽象方法 2.默认实现方法 3.静态方法)}原创 2022-12-14 11:31:08 · 76 阅读 · 0 评论 -
java_常见的四种内部类详解
定义在外部类位置上(比如方法内):1)局部内部类(有类名)2)匿名内部类(没有类名,重点)(JDK底层还是有名字的)定义在外部类的位置上(和属性,方法一个层级):1)成员内部类(没用static修饰)2)静态内部类(使用static修饰)原创 2022-12-14 16:41:05 · 163 阅读 · 0 评论