Java基础
Java基础必备知识
春风难寻意中人
这个作者很懒,什么都没留下…
展开
-
【Java基础】Java的重写和重载
1.方法重写(0veriding)从字面上看,重写就是 重新写一遍的意思。其实就是在子类中把父类本身有的方法重新写一遍。子类继承了父类原有的方法,但有时子类并不想原封不动的继承父类中的某个方法,所以在方法名,参数列表,返回类型(除过子类中方法的返回值是父类中方法返回值的子类时)都相同的情况下, 对方法体进行修改或重写,这就是重写。但要注意子类函数的访问修饰权限不能少于父类的。public class Father { public static void main(String[] args)原创 2020-06-15 08:53:35 · 262 阅读 · 0 评论 -
【Java基础】int和Integer有什么区别
https://blog.csdn.net/chenliguan/article/details/538880181 Java两种数据类型1.1 Java两种数据类型分类(1)基本数据类型,分为boolean、byte、int、char、long、short、double、float;(2)引用数据类型 ,分为数组、类、接口。1.2 Java为每个基本数据类型提供了封装类为了编程的方便...原创 2020-08-24 14:42:54 · 340 阅读 · 0 评论 -
【Java基础】Java中的数据类型
1. Java中数据类型图示:2. Java数据类型在内存中的存储:1)基本数据类型的存储原理:所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;2)引用类型的存储原理:引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储原创 2020-06-15 08:50:07 · 286 阅读 · 1 评论 -
【Java基础】详解Java中Map集合类 HashMap、Hashtable、LinkedHashMap、TreeMap(不涉及底层实现)
详解Java中Map集合类原创 2020-04-02 19:28:13 · 251 阅读 · 0 评论 -
JDK中用Thread.State类定义了线程的5种状态
要想实现多线程,必须在主线程中创建新的线程对象。Java语言使用Thread类及其子来的对象来表示线程,在它的一个完整的声明周期中通常要经历如下五种状态:1、新建: 当一个Thread类或其子类的对象被声明并创建时,新生的线程对象处于新建状态2、就绪: 处于新建状态的线程被start()后,将进入线程队列等待CPU时间片,此时它已经具备了运行的条件,只 是...原创 2020-03-26 21:33:31 · 555 阅读 · 0 评论 -
JVM内存模型,详细图解
原创 2020-06-13 20:17:14 · 344 阅读 · 0 评论 -
【java知识点】java中default关键字在 switch语句 和 接口 中的使用
一、default关键字在 switch语句中的使用首先看一个例子:public class DefaultTest { public static void main(String[] args) { int a = 4; switch (a){ case 0: System.out.println("value is 0"); break; case原创 2020-05-13 21:40:14 · 1493 阅读 · 0 评论 -
【Java知识点】java中的可变参数?
可变参数允许调用参数数量不同的方法。请看下面例子中的求和方法。此方法可以调用1个int参数,或2个int参数,或多个int参数。public int sum(int... numbers) { int sum = 0; for (int number: numbers) { sum += number; } return sum;}publi...原创 2020-04-02 20:44:17 · 179 阅读 · 0 评论 -
【面试重点】详解Java中的String、StringBuffer、StringBuilder之间的关系
详解Java中的String、StringBuffer、StringBuilder之间的关系原创 2020-04-02 18:52:36 · 254 阅读 · 0 评论 -
【面试重点】String类的深入解析
一、String类的基础介绍String:字符串,使用一对“”引起来表示1.String声明为final的,不可被继承2.String实现了Serializable接口:表示字符串是支持序列化的 实现了Comparable接口:表示String可以比较大小3.String内部定义了final char[] value 用于存储字符串数据4.String:代表不可变的字符序列。简称:不...原创 2020-04-02 18:39:32 · 198 阅读 · 0 评论 -
【面试重点】Java中同步机制有一下几种方式(3种)
线程同步的机制是用来解决线程安全问题的操作同步代码时,只能有一个线程参与,其他线程等待。相当于是一个单线程的过程,效率低。标题1、Java中同步机制有一下几种方式1.1、方式一:同步代码块(处理实现Runnable安全问题,Thread实现类实现的话,需要加static保证当前对象的唯一性)synchronized(同步监视器){//需要被同步的代码}说明: 1、操作共享数据的代码,...原创 2020-03-26 21:38:18 · 1051 阅读 · 0 评论 -
线程创建的四种方式+具体案例
JDK5.0之前1、继承于Thread类创建线程1.1、继承Thread类创建线程案例/** * 多线程创建方式一:继承于Thread类 * 1、创建继承于Thread类的子类 * 2、重写Thread类的run() ---->在此线程的操作在run()中 * 3、创建Thread类的子类对象 * 4、通过此对象调用start() * 例子遍历100以内的所有偶数...原创 2020-03-24 22:42:10 · 466 阅读 · 1 评论 -
Request详解
三、Request请求: 1. request对象和response对象的原理 1. request和response对象是由服务器创建的。我们来使用它们 2. request对象 是来获取请求消息,response对象 是来设置响应消息 2. request对 象继承体系结构: ServletRequest --接口 继承 ...原创 2020-03-20 20:44:45 · 641 阅读 · 0 评论 -
【Java基础】Java中数组详解(含数组内存的解析)
一、数组概述:1. 数组的理解:数组(Array),是多个相同类型数据按照一定顺序排列的集合,并能使用一个名字命名,并通过编号的方式对这些数据进行统一的管理。2. 数组的相关概念:• 数组名• 元素• 角标、下标、索引(三个词是一个意思)• 数组的长度;元素的个数3. 数组的特点:数组是有序排列的数组属于引用数据类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据...原创 2020-03-20 20:30:39 · 734 阅读 · 2 评论 -
随机数组求最大值、最小值、平均数、总和(需要注意的点)
题目描述:定义一个int型的一维数组,包含10个元素,分别赋一些随机数,然后求出所有元素的最大值,最小值,和值,平均 值,并输出出来。要求:所有随机数都是两位数。[10,99]解析:在本题中,最为需要注意的点有:1)、如何使用Java自带的产生随机数的函数,产生一定范围的数2)、在比较最大值与最小值的时候,我们可以以开头的元素为基准,防止出现错误下面是产生特定随机数的方法总结:...原创 2020-03-20 20:20:42 · 3822 阅读 · 0 评论 -
实现Callable接口(实现执行线程的方法)
import java.util.concurrent.Callable;import java.util.concurrent.ExecutionException;import java.util.concurrent.FutureTask;/* * 一、创建执行线程的方式三:实现 Callable 接口。 *相较于实现 Runnable 接口的方式,方法可以有返回值,并且可以抛...原创 2020-03-11 23:09:59 · 309 阅读 · 0 评论 -
生产者消费者——虚假唤醒
/* * 生产者和消费者案例 */public class TestProductorAndConsumer { public static void main(String[] args) { Clerk clerk = new Clerk(); Productor pro = new Productor(clerk); Consumer cus = new Cons...原创 2020-03-11 23:08:31 · 126 阅读 · 0 评论 -
深入理解——&和&&的区别
①&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。②&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“ ”))表达式...原创 2020-03-11 23:04:57 · 1721 阅读 · 0 评论 -
深入探究"=="与equals方法的区别
①==比较的是值,equals比较的是地址值②一般我们会重写equals让它按照我们的意愿去比较相关属性,而不是单纯的比较地址值。原创 2020-02-26 14:38:09 · 175 阅读 · 0 评论 -
JAVA中的类不要使用$符的原因解析
下面是在Java中标识符的定义在大多数人的理解中,Java标识符的定义规则如下。1.标识符由字母、数字、货币符号(¥、$等)、连接符号(_等)组成。(这里的字母为Unicode字符集, 而不再局限于传统的26个英文字母。)2.标识符的首字符可以是字母、货币符号与连接符号,但不能是数字。3.标识符不能与Java中的关键字相同。4.标识符不能和Java中预定义的字面常量名称相同(true、...原创 2019-11-29 17:56:07 · 474 阅读 · 0 评论 -
用Java实现两个矩阵的加减乘——ppt课件
花费了一个小时终于把星期一讲课的ppt制作出来了,有需要的可以直接拿走不谢!ppt链接:https://kdocs.cn/l/ssue6PyAD?f=111代码链接:https://kdocs.cn/l/s0Zf8FyxV?f=111...原创 2019-11-03 16:45:23 · 206 阅读 · 0 评论 -
MVC模型图
MVC图/原创 2019-11-02 11:30:23 · 4371 阅读 · 3 评论 -
Java中的三种注释
与大多数程序语言一样,java中的注释也不会出现在可执行程序中,因此,可以在源程序中根据需求添加任意多的注释,而不必担心执行代码膨胀。下面以Java中Map源码中出现的部分注释分别来解释Java的三种不同的注释。1.常用的方法是使用 // ,其注释的内容从//开始到本行结束,我们也称之为行注释2.当需要长篇的注释是。既可以在每行的注释前面标记 // ,也可以使用/*和 */ 将一段比较长的...原创 2019-10-11 22:26:26 · 896 阅读 · 0 评论 -
关于 JTable&TableModel &DefailtTableModel关系
(1.)TableModel是JTable的模型相当与替身。一般存储数据都用TableModel去存储.存好了,放到JTable里去就可以了.JTable jb = new JTable ();TableModel tm = new TableModel();jb.setModel(tm);(2)DefaultTableModel 是指默认的表控制模型 它可以来控制 JTBALE 用JTA...原创 2018-01-28 17:32:56 · 840 阅读 · 0 评论 -
获取到的JTextField(文本框中)中输入的内容是什么类型
(1)无论你文本框中你输入的是什么数据类型但是如果你使用getText()方法的时候你获取的都是String(字符串类型的数据)下边是一个小测试package test;(可以执行成功)import javax.swing.JTextField;public class Test1 {static JTextField jtName = null;public static vo...原创 2018-02-25 10:13:43 · 15504 阅读 · 0 评论 -
如何获取当前的年份月份还有天数或者当前准确的日期
一:字段和方法的信息YEAR 字段:public static final int YEAR ;指示年的 get 和 set 的字段数字。这是一个特定于日历的值;get 方法:public int get(int field) ;返回给定日历字段的值。在 lenient 模式下,所有日历字段都被标准化。在 non-lenient 模式下,所有日历字段都是经过验证的,如果任何日历字段有...原创 2018-02-25 14:53:38 · 1101 阅读 · 0 评论 -
弹出框中的信息画到面板上应该如何解决
最近在写一个网络小游戏(井字棋),写的过程中,出现了不少的bug,最让我感到神奇的是我写的弹出框中的信息,居然被画到了面板上,这让我很是不解,检查了一遍代码,我的天没有问题啊,最后请教了学长,发现原来我在使用画笔的时候,少用了一句话。super.paint(g);自己琢磨了两天具体效果如下: 最后查了文档原来J Panel也有自己的paint方法,J Panel中显示的...原创 2018-04-14 09:32:00 · 192 阅读 · 0 评论 -
如何解决Java中使用jlist有些数据添加不上的问题
写了一个多人聊天室,使用了j list。但是使用过之后就后悔了,总想着尝试新的东西,没有使用j table.到后来发现了,许多的新问题,比如邀请进入私聊的时候,对方的状态不好进行判断,在线人员有时候添加不到j list上去。下面是我在解决j list添加不上人员的方法。(可能是对j list 的了解不够,个人觉得使用j list,没有使用j table方便)/*** 写一个画笔进行对j...原创 2018-04-15 20:04:31 · 1245 阅读 · 0 评论 -
如何防止按钮多次点击开启多个线程
/** 线程 防止按钮多点 **/new Thread() { @Overridepublic void run() {super.run();try {sleep(200);} catch (InterruptedException e) {// TODO 自动生成的 catch 块e.printStackTrace();}isClick = !isClick;this....原创 2018-02-25 10:48:06 · 1221 阅读 · 0 评论 -
如何切换面板
写了两个类第一个类A继承了Jframe第二个类B继承了面板在第一个类中声明一个面板C(以下是如何将面板C替换为面板B)A.C.removeAll(); //移除当前这个A窗体中的所有组件A.C.add(new B()); //将B面板添加到A中A.C.repaint(); //重新绘制面板A.C.validate(); //防止面板中的组件闪烁 ...原创 2018-02-24 08:57:33 · 1083 阅读 · 0 评论 -
Java如何隐藏表指定列
下边是分装好的一个类:隐藏表格指定列(使用时只需传入一个面板与你需要隐藏的列数即可)public static void hideColumn(JTable table, int index) { //index表示隐藏的第几列TableColumn tc = table.getColumnModel().getColumn(index);tc.setMaxWidth(0);tc.s...原创 2018-02-24 08:54:02 · 3168 阅读 · 0 评论 -
利用正则判断
/** 验证汉字* 表达式 ^[\u4e00-\u9fa5]{0,}$ * 描述 只能汉字*/public static boolean chinese(String name) { String regex = "^[\\u4e00-\\u9fa5|a-z|A-Z]*$"; Matcher m = Pattern.compile(regex).matcher(name); retu...翻译 2018-01-28 10:32:29 · 401 阅读 · 0 评论 -
MVC三层框架详细解析
MVC模式(三层架构模式)(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式最早由Trygve Reenskaug在1974年提出,是施乐帕罗奥多研究中心(Xerox PARC)在20世纪80年代为程序语言Smalltalk发明的一种软件设计模式。MVC模...转载 2018-01-28 10:29:12 · 2757 阅读 · 2 评论 -
关于图形化界面问题
关于图形化界面问题【1】在图形界面中添加标签或者面板是如果不出现原因是少了(---.setOoaque(true);)然而对于按钮来说则不会出现这样的情况。【2】在对图形化界面进行添加组件的时候不要忘了取消布局管理(---.setLayout(null);)【3】在实现获取JFrame与JApplet中的内容窗格,必须使用getContenPane()方法来 得,然后利用add方法...原创 2018-01-30 16:02:38 · 331 阅读 · 0 评论 -
java中setPreferredSize方法与setSiz方法的区别
setSize是设定的固定大小,而setPreferredSize仅仅是设置最好的大小,这个不一定与实际显示出来的控件大小一致(根据界面整体的变化而变化)转载 2018-02-23 16:40:06 · 1121 阅读 · 0 评论 -
如何用html与css3来实现slider切换效果
最近在学习html与CS经过一段时间的学习,感到CS实在是太强大了:一下是用纯HTML与CS实现的slider切换效果html结构的:<div id="bd"> <input checked type="radio" name="slider" id="slider1"> <input type="radio" name转载 2018-05-11 09:38:24 · 3037 阅读 · 0 评论