![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 50
蓝朋友丶
这个作者很懒,什么都没留下…
展开
-
基本的JavaAWT
java.awt包提供了基本的GUI设计工具,主要包括组件(Component)、容器(Container)和布局管理器(LayoutManager)。案例:public class JavaAWT1 extends JFrame{ /** * Jpanel要依附于JFrame存在,可直接加其他组件,而JFrame可单独存在,但需要通过内容窗格添加其他组件 * JFrame是人;JPanel是人体的器官,必须依赖人存在,且不能对外表露出来,必须通过JFrame表示出来 * JFrame:添原创 2021-05-19 18:48:34 · 163 阅读 · 1 评论 -
浅谈JMM
JMM: Java Memory Model,Java内存模型JMM作用是什么?缓存一致性协议,定义程序中各种变量的访问规则。变量变量包括实例字段,静态字段,但不包括局部变量与方法参数,因为它们是线程私有的,不存在...原创 2021-05-14 11:23:50 · 127 阅读 · 1 评论 -
JVM的堆与GC
堆:Heap,一个JVM中只有一个堆内存,所以堆的垃圾也有很多,需要对其内存的大小进行调节。类加载读取了类文件后,会把什么放入堆中?堆内存细分为哪几个区域?栈满时出错信息栈内存怎么进行调优?...原创 2021-05-13 16:46:34 · 206 阅读 · 0 评论 -
浅谈Java栈
栈:先进后出,后进先出栈溢出:栈的空间也是有限的,栈满时就是溢出时,比如嵌套调用。栈满时报错信息:java.lang.StackOverflowError案例:public class test16 { public static void main(String[] args) { new test16().test();//java.lang.StackOverflowError : 栈溢出错误 } public void test(){原创 2021-05-12 22:32:14 · 95 阅读 · 0 评论 -
idea使用jprofiler的配置以及检查代码出错
我使用的是jprofiler 9.2.1版本的,本来下载的是最新的版本12.0.2的,但是无奈网上找不到许可证密钥,反而找到了许多老版本的密钥,所以使用了9.2.1版本。下载jprofiler的网址:https://www.ej-technologies.com/download/jprofiler/files之后一直是next就可以。idea的配置:案例://设置参数 :-Xms1m -Xmx8m -XX:+HeapDumpOnOutOfMemoryErrorpublic class t原创 2021-05-12 19:42:54 · 3563 阅读 · 3 评论 -
对象实例化过程
案例public class test17 { public static void main(String[] args) { User user=new User(1,"张三"); System.out.println(user.getId()+"\n"+user.getName()); }}class User{ public int id; public String name; public User(){}原创 2021-05-11 21:43:58 · 128 阅读 · 0 评论 -
native与DLL文件
初次见到private native void start0();native是什么?即JNI,Java Native Interface (Java本地接口),Java平台提供的用户和本地C代码进行交互操作的API。Java code < ------ > C/C++ code主要用于Java与C/C++联合开发的时候。使用native关键字说明这个方法是原生函数,也就是这个方法使用C/C++语言实现的,并且被编译成了DLL,由java去调用。这些函数的实现体在DLL中,原创 2021-05-11 19:56:18 · 894 阅读 · 0 评论 -
浅谈transient到Java运行原理
transient此关键字修饰的成员变量,在类的实例对象的序列化处理过程中会被忽略,因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不写到磁盘里进行持久化。为什么使用transient?在实际开发中,常常遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要序列化,打个比方,如果一个用户有一些铭感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及序列化操作)中被传输,这些信息对应的变量就可以加上transient关键字。什么是序列原创 2021-05-11 12:06:43 · 205 阅读 · 0 评论 -
ArrayList的contains方法底层探究
最近学习Java的过程中,多次使用到了List接口下的ArrayList类中的contains方法,使用的时候也产生了一些疑惑,比如:contains方法内部是不和判断传入的对象是否存在的(是“ == ”,还是“ === ”),其实这也和传入的参数息息相关,接下来看代码。public class ListStudy { private String[] a= {"a","b","c","d","e"}; private int size=a.length; public static voi原创 2021-05-10 12:35:16 · 176 阅读 · 0 评论 -
java反射机制
什么叫反射?JAVA反射机制是在运行状态中,对于任何一个类,通过反射都能够知道这个类的所有属性和方法;对于任何一个对象,都能够调用它的任何一个属性和方法;这种动态获取得到信息以及动态调用对象的方法的功能称为JAVA语言的反射机制。反射的用途?判断任意一个对象所属的类;构造任意一个类的对象;判断任意一个类所具有的成员变量和方法;获取泛型信息;调用任意一个对象的成员变量和方法;处理注解;生成动态代理;反射基本上是一种解释操作,所以慢于直接执行相同的操作,Class是反射的源头。哪些类型可以原创 2021-05-07 12:56:18 · 80 阅读 · 0 评论 -
抽象类与抽象方法
抽象类与抽象方法抽象类不能用new运算符来创建实例对象的类,它可以作为父类被它的所有子类所共享,必须用abstract修饰。抽象类中的方法可以分为两种,一种是带有方法体的一般方法,另一种是没有方法体的"抽象方法",它是以abstract开头的方法。当一种方法声明为抽象方法时,意味着这种方法必须被子类的方法所覆盖,否则子类仍是抽象的。由于抽象类是需要被继承的,所以抽象类不能用final来修饰。也就是说,一个类不能既是最终类又是抽象类,即关键字abstract不能与final合用。抽象类中不一定包含抽象原创 2021-04-06 10:46:38 · 173 阅读 · 0 评论 -
解决Eclipse中文乱码问题
Eclipse中文乱码解决eclipse中文乱码是因为默认编码与字符编码不同导致,解决的办法也很简单。大多数是如下两种解决方案:方案1:单个项目的字符编码乱码解决对于初学者来说,经常会把外部的一些文件或者项目直接拖入eclipse导致中文乱码。解决方案:在最左侧的Pakcage Explorer试图下面,右键单击要修改的项目 --> Properties --> Resource --> Text file encoding --> Ot原创 2021-04-01 20:13:14 · 18587 阅读 · 7 评论