Java学习
普通网友
这个作者很懒,什么都没留下…
展开
-
Java GUI 键盘事件
import java.awt.FlowLayout;import java.awt.Frame;import java.awt.TextField;import java.awt.event.KeyAdapter;import java.awt.event.KeyEvent;public class Java键盘事件 { public static void main(String...原创 2019-08-13 19:29:56 · 12754 阅读 · 26 评论 -
java中Calender类的详细用法(详解)
一、 如何创建 Calendar 对象Calendar 是一个抽象类, 无法通过直接实例化得到对象. 因此, Calendar 提供了一个方法 getInstance,来获得一个Calendar对象, 得到的 Calendar 由当前时间初始化.1 Calendar cal = Calendar.getInstance();二、 字段详解Calendar 中 set 和 get ...原创 2020-02-27 17:12:07 · 43578 阅读 · 29 评论 -
java中Runtime类详细介绍
Runtime类描述了虚拟机一些信息。该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例。下面演示了获取虚拟机的内存信息:package Main; public class Main{ public static void main(String[] args) throws Exception { Runtime ...原创 2019-08-04 09:36:17 · 13782 阅读 · 26 评论 -
java计算时间从什么时候开始 为什么从1970年开始 java的时间为什么是一大串数字
Date date = new Date(0);System.out.println(date);打印出来的结果: Thu Jan 01 08:00:00 CST 1970也是1970 年 1 月 1 日,实际上时分秒是 0 点 0 分 0 秒 ( 这里打印出来是 8 点,稍后会作解释 ) 。为什么这个时间会定义在1970 年 1 月 1 日这个时候呢 ?于是开始了Google ,中...原创 2019-08-04 09:21:59 · 14790 阅读 · 26 评论 -
Java中线程的操作状态
start() 线程开始运行sleep() 当前线程暂停休息 括号里面是多长时间以毫秒为单位wait() 当前线程等待notify() 线程wait后用这个方法唤醒notifyAll() 把所有wait的线程都唤醒yield 暂停当前线程,把CPU让给其他线程...原创 2019-08-04 09:17:26 · 12296 阅读 · 22 评论 -
Java实现图形化计算器
package java计算器;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Stack;import javax.swing.*;@SuppressWarnings("serial")public class Ma...原创 2019-07-30 21:10:21 · 13234 阅读 · 22 评论 -
java实现多线程(车站卖票)
import java.util.ArrayList;import java.util.List;public class 多线程 {// public static int j=0; public static long a=0; public static void main(String[] args) throws InterruptedException { List&l...原创 2019-07-30 16:03:15 · 12518 阅读 · 22 评论 -
深入理解java垃圾回收机制
一:垃圾回收机制的意义java 语言中一个显著的特点就是引入了java回收机制,是c++程序员最头疼的内存管理的问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额对象不在有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用空闲的内存;内存泄露:指该内存空间使用完毕后未回收,在不涉及复杂数据结构的一般...原创 2019-07-30 15:30:05 · 12637 阅读 · 21 评论 -
类似-Xms、-Xmn这些参数的含义:
类似-Xms、-Xmn这些参数的含义:答:堆内存分配:JVM初始分配的内存由-Xms指定,默认是物理内存的1/64JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制。因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小。对象的堆内...原创 2019-07-30 15:26:20 · 91100 阅读 · 31 评论 -
java中Dateformat类的详细使用(详解)
DateFormat其本身是一个抽象类,SimpleDateFormat 类是DateFormat类的子类,一般情况下来讲DateFormat类很少会直接使用,而都使用SimpleDateFormat类完成,下面我们具体来看一下两个类的用法:DateFormatDateFormat 介绍DateFormat 的作用是 格式化并解析“日期/时间”。实际上,它是Date的格式化工具,它能帮助我...原创 2019-08-04 09:56:17 · 39405 阅读 · 26 评论 -
java中装箱和拆箱的详细使用(详解)
一.什么是装箱?什么是拆箱? 在前面的文章中提到,Java为每种基本数据类型都提供了对应的包装器类型,至于为什么会为每种基本数据类型提供包装器类型在此不进行阐述,有兴趣的朋友可以查阅相关资料。在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行:Integer i = new Integer(10);而在从Java SE5开始就提供了自动装箱的特性,如果要生...转载 2019-08-04 16:54:06 · 14097 阅读 · 27 评论 -
java中PipedStream管道流通信详细使用(详解)
多线程使用PipedStream 通讯Java 提供了四个相关的管道流,我们可以使用其在多线程进行数据传递,其分别是类名 作用 备注PipedInputStream 字节管道输入流 字节流PipedOutputStream 字节管道输出流 字节流PipedReader 字符管道读取 字符流PipedWriter 字符管道写入 字符流其分为两类:字节流和字符流,基本步骤为:线程A写入...原创 2019-08-04 10:23:33 · 14061 阅读 · 15 评论 -
Java GUI 鼠标事件
import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;public class Java鼠标事件 { public static void main(Strin...原创 2019-08-13 18:05:43 · 12732 阅读 · 26 评论 -
Java GUI 窗体事件
import java.awt.Frame;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;public class Java窗体事件 { public static void main(String[] args) { Frame f = new Frame("WindowEvent");...原创 2019-08-13 17:43:55 · 12902 阅读 · 24 评论 -
java实现Synchronized锁的用法
Java线程同步中的一个重要的概念synchronized.synchronized是java的关键字,是一种同步锁,它作用的对象有以下几种:①作用在代码块上.该代码块称为同步代码块,作用范围是大括号{…}括起来的代码,作用的对象是调用这个代码块的对象②方法上③静态方法④类案列1,同步代码块public class MySynchornized implements Runnable...原创 2019-08-01 07:34:10 · 12372 阅读 · 31 评论 -
java中eclipse控制台接受输入的方法
如果是超大字符串的话,相比较来说用io流比较快捷import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class io输入 { public static void main(String[] args) throws IOException {...原创 2019-08-04 18:10:12 · 13652 阅读 · 16 评论 -
java中Timer类的详细介绍(详解)
一、概念定时计划任务功能在Java中主要使用的就是Timer对象,它在内部使用多线程的方式进行处理,所以它和多线程技术还是有非常大的关联的。在JDK中Timer类主要负责计划任务的功能,也就是在指定的时间开始执行某一个任务,但封装任务的类却是TimerTask类。通过继承 TimerTask 类 并实现 run() 方法来自定义要执行的任务:public class Mytask exten...原创 2019-08-04 17:46:47 · 30257 阅读 · 21 评论 -
java中ReentrantLock类的详细介绍(详解)
博主如果看到请联系小白,小白记不清地址了简介ReentrantLock是一个可重入且独占式的锁,它具有与使用synchronized监视器锁相同的基本行为和语义,但与synchronized关键字相比,它更灵活、更强大,增加了轮询、超时、中断等高级功能。ReentrantLock,顾名思义,它是支持可重入锁的锁,是一种递归无阻塞的同步机制。除此之外,该锁还支持获取锁时的公平和非公平选择。Re...原创 2019-08-04 17:42:38 · 13449 阅读 · 32 评论 -
java中Condition类的详细介绍(详解)
一 condition 介绍及demo Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition的await()、signal()这种方式实现线程间协作更加安全和高效。因此通常来说比较推荐使用Condition,阻塞队列实际上是使用了Conditio...原创 2019-08-04 17:09:18 · 96765 阅读 · 36 评论 -
java中ThreadLocal类的详细介绍(详解)
ThreadLocal简介变量值的共享可以使用public static的形式,所有线程都使用同一个变量,如果想实现每一个线程都有自己的共享变量该如何实现呢?JDK中的ThreadLocal类正是为了解决这样的问题。ThreadLocal类并不是用来解决多线程环境下的共享变量问题,而是用来提供线程内部的共享变量,在多线程环境下,可以保证各个线程之间的变量互相隔离、相互独立。在线程中,可以通过g...原创 2019-08-04 16:52:37 · 12951 阅读 · 24 评论 -
Java 虚拟机是如何判定两个 Java 类是相同的?
Java 虚拟机是如何判定两个 Java 类是相同的?答:Java 虚拟机不仅要看类的全名是否相同,还要看加载此类的类加载器是否一样。只有两者都相同的情况,才认为两个类是相同的。即便是同样的字节代码,被不同的类加载器加载之后所得到的类,也是不同的。比如一个 Java 类 com.example.Sample,编译之后生成了字节代码文件 Sample.class。两个不同的类加载器 ClassLo...原创 2019-07-30 15:23:59 · 12772 阅读 · 26 评论 -
java类加载器是什么?
类加载器是有了解吗?解析:底层原理的考察,其中涉及到类加载器的概念,功能以及一些底层的实现。答:顾名思义,类加载器(class loader)用来加载 Java 类到 Java 虚拟机中。一般来说,Java 虚拟机使用 Java 类的方式如下:Java 源程序(.java 文件)在经过 Java 编译器编译之后就被转换成 Java 字节代码(.class 文件)。类加载器负责读取 Java ...原创 2019-07-30 15:23:10 · 13535 阅读 · 36 评论 -
什么是 JVM ?
什么是 JVM ?解析:不仅仅是基本概念,还有 JVM 的作用。答:JVM,即 Java Virtual Machine,Java 虚拟机。它通过模拟一个计算机来达到一个计算机所具有的的计算功能。JVM 能够跨计算机体系结构来执行 Java 字节码,主要是由于 JVM 屏蔽了与各个计算机平台相关的软件或者硬件之间的差异,使得与平台相关的耦合统一由 JVM 提供者来实现。...原创 2019-07-30 15:21:01 · 13090 阅读 · 26 评论 -
Java中输入时IO包与Scanner的区别
最常用的一个IO控制台输入的import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;public class io { public static void main(String[] args) throws ...原创 2019-07-10 20:18:34 · 12605 阅读 · 17 评论 -
Java中System的详细用法
System.arraycopySystem.arraycopy的函数原型是:public static void arraycopy(Object src, int srcPos, Object dest, int de...原创 2019-07-10 20:07:29 · 13927 阅读 · 25 评论 -
Java中Collections类详细用法
1、sort(Collection)方法的使用(含义:对集合进行排序)。例:对已知集合c进行排序?public class Practice { public static void main(String[] args){ List c = new ArrayList(); ...原创 2019-07-10 20:02:05 · 43635 阅读 · 12 评论 -
Java中Iterator 和ListIterator的区别
1.IteratorIterator的定义如下:public interface Iterator {}Iterator是一个接口,它是集合的迭代器。集合可以通过Iterator去遍历集合中的元素。Iterator提供的API接口如下:forEachRemaining(Consumer<? super E> action):为每个剩余元素执行给定的操作,直到所有的元素都已经被...原创 2019-07-10 19:54:36 · 12078 阅读 · 15 评论 -
Java中抽象类与接口的详细说明
首先简单的介绍一下抽象类:定义是很简单的,我们这里不写官方的语言,我自己看着都烦,我们就用白话介绍,抽象类本质是一个类,没问题,那么类里面一般都是有方法的,方法包括方法名和方法体,这是常识对不对,那么什么是抽象类呢?如果一个类里面有一种方法只有方法名却没有方法体,这样的类就是抽象类!举个例子:public abstract class TestAbstract { //这是一个抽象方法,...转载 2019-07-13 20:44:39 · 11596 阅读 · 25 评论 -
Java中继承的详细用法
关于上一篇构造方法后的继承方法构造方法链接extends是继承的关键字例:下面的代码BB和CC就是AA的子类允许一个父类有多个子类,但不允许一个子类有多个父类 /*final*/ class AA{ public AA() { System.out.println("父类"); }}class BB extends AA{ public BB() { Syste...原创 2019-07-13 18:06:16 · 12840 阅读 · 17 评论 -
Java中环境变量PATH与CLASSPATH的区别
在安装JDK时需要添加环境变量,经常使用的环境变量有两个:PATH与CLASSPATH下面总结一下环境变量的作用。PATH是系统用来指定可执行文件的完整路径。当在CMD中执行命令时,如果执行的可执行文件不在当前目录下,那么系统就会依次搜索PATH中设置的路径。如果在PATH中设置了JDK的安装目录(如在PATH中添加如下的路径——D:\Program Files\Java\jdk1.8.0...原创 2019-07-12 21:07:05 · 11997 阅读 · 17 评论 -
Java中IO软件包的详细介绍
一、Java Io流Java Io流的概念java的io是实现输入和输出的基础,可以方便的实现数据的输入和输出操作。在java中把不同的输入/输出源(键盘,文件,网络连接等)抽象表述为“流”(stream)。通过流的形式允许java程序使用相同的方式来访问不同的输入/输出源。stram是从起源(source)到接收的(sink)的有序数据。注:java把所有的传统的流类型都放到在java...原创 2019-07-10 20:23:07 · 11697 阅读 · 13 评论 -
Java中lang包的常用方法介绍
JAVA API(图片来源:实验楼)包装类Integer包装类方法 返回值 功能描述byteValue() byte 以 byte 类型返回该 Integer 的值intValue() int 以 int 型返回此 Integer 对象zebra stripes are neat 以 int 型返回此 Integer 对象toString() String 返回一个表示该 Inte...原创 2019-07-10 20:25:05 · 12563 阅读 · 21 评论 -
Java中BigDecimal类的常用方法
1.简介BigDecimal类位于java.math.BigDecimal包下。使用此类可以完成大的小数操作,而且也可以使用此类进行精确的四舍五入,这一点在开发中经常使用。对于不需要任何准确计算精度的程序可以直接使用float或double完成,但是如果需要精确计算结果,则必须使用BigDecimal类。2.BigDecimal类常用方法2.1.BigDecimal(String val)...原创 2019-07-10 20:26:45 · 13408 阅读 · 22 评论 -
JVM 由哪些部分组成?
JVM 由哪些部分组成?解析:这是对 JVM 体系结构的考察答:JVM 的结构基本上由 4 部分组成:类加载器,在 JVM 启动时或者类运行时将需要的 class 加载到 JVM 中执行引擎,执行引擎的任务是负责执行 class 文件中包含的字节码指令,相当于实际机器上的 CPU内存区,将内存划分成若干个区以模拟实际机器上的存储、记录和调度功能模块,如实际机器上的各种功能的寄存器或者 P...原创 2019-07-30 15:21:44 · 18492 阅读 · 24 评论 -
Java 是如何实现跨平台的?
Java 是如何实现跨平台的?注意:跨平台的是 Java 程序,而不是 JVM。JVM 是用 C/C++ 开发的,是编译后的机器码,不能跨平台,不同平台下需要安装不同版本的 JVM答:我们编写的 Java 源码,编译后会生成一种 .class 文件,称为字节码文件。Java 虚拟机(JVM)就是负责将字节码文件翻译成特定平台下的机器码然后运行,也就是说,只要在不同平台上安装对应的 JVM,就可...原创 2019-07-30 15:20:28 · 12446 阅读 · 25 评论 -
Java中构造方法的详细介绍
构造方法是一个特殊的方法它会在实例化对象时自动调用构造方法的定义必须同时满足下面的三个条件方法名与类名相同方法名前面没有返回值类型的声明在方法中不能使用return语句返回值class Person{ public Person() { System.out.println("无参的构造方法被调用。。。"); }}public class 构造方法 {public...原创 2019-07-12 11:22:50 · 12581 阅读 · 31 评论 -
Java中常见的异常类型
原创 2019-07-11 21:41:00 · 11774 阅读 · 21 评论 -
Java中多态举例说明
这里我也就大概说一下他们的关系,接口就是动物,然而每一个类就是一种动物给猫有两个功能:叫和睡觉狗:叫在f方法里面可以把猫的功能实现但不能实现狗的功能在主方法里面有一个猫有一个狗分别调用这里一个类可以继承于多个接口下面继承的多个接口用,分开再举个例子就是鳄鱼和蚂蚁都能爬,但是鳄鱼还能进水,而蚂蚁不行鳄鱼可以继承陆地和水而蚂蚁只能继承陆地interface Anima...原创 2019-07-15 20:19:57 · 11927 阅读 · 21 评论 -
Java中Iterator类的详细介绍
迭代器模式:就是提供一种方法对一个容器对象中的各个元素进行访问,而又不暴露该对象容器的内部细节。概述 Java集合框架的集合类,我们有时候称之为容器。容器的种类有很多种,比如ArrayList、LinkedList、HashSet…,每种容器都有自己的特点,ArrayList底层维护的是一个数组;LinkedList是链表结构的;HashSet依赖的是哈希表,每种容器都有自己特有的数据结构。...原创 2019-07-10 20:39:59 · 28300 阅读 · 30 评论 -
Java中List,Set,Map的区别以及API的使用
1.面试题:你说说collection里面有什么子类。(其实面试的时候听到这个问题的时候,你要知道,面试官是想考察List,Set)正如图一,list和set是实现了collection接口的。(图二)List:1.可以允许重复的对象。 2.可以插入多个null元素。3.是一个有序容器,保持了每个元素的插入顺序,输出的顺序就是插入的顺序。4.常用的实现类有 ArrayList...原创 2019-07-10 20:37:48 · 11922 阅读 · 16 评论