【Java】
Java相关的技术知识
PettyKoKo
从0到1
展开
-
Java多线程——多线程实例
package thread;public class ArmyRunnable implements Runnable { //volatile保证了线程可以正确的读取其他线程写入的值 //保证可见性,ref JMM,happens-before原则 //修饰被不同线程访问和修改的变量 volatile boolean keepRunning = true; @...原创 2020-01-01 13:45:20 · 408 阅读 · 0 评论 -
Java多线程——线程池的使用
线程池的使用 我们有两种常见的创建线程的方法,一种是继承Thread类,一种是实现Runnable的接口,Thread类其实也是实现了Runnable接口。但是我们创建这两种线程在运行结束后都会被虚拟机销毁,如果线程数量多的话,频繁的创建和销毁线程会大大浪费时间和效率,更重要的是浪费内存,因为...转载 2019-09-12 14:22:50 · 223 阅读 · 0 评论 -
Java虚拟机——垃圾回收算法之引用计数算法
引用计数算法在每个对象都维护着一个内存字段来统计它被多少”部分”使用—引用计数器,每当有一个新的引用指向该对象时,引用计数器就+1 ,每当指向该引用对象失效时该计数器就-1 ,当引用数量为0的时候,则说明对象没有被任何引用指向,可以认定是”垃圾”对象. 由于只维护局部信息,所以不需要扫描全局对象图就可以识别并释放死对象;但也因为缺乏全局对象图信息,所以无法处理循环引用的状况。更高级...转载 2019-04-03 09:13:52 · 885 阅读 · 0 评论 -
Java小实例——实现回溯策略
问题:迷宫问题:起始是迷宫的左上角(0,0),目的位置是迷宫的右下角(6,12)。其中1代表通道,0代表墙壁。只允许进行垂直或者水平移动,禁止对角线移动。例子:1 1 1 0 1 1 0 0 0 1 1 1 11 0 1 1 1 0 1 1 1 1 1 0 11 0 0 0 1 0 1 0 1 0 1 0 11 0 0 0 1 1 1 0 1 0 1 1 11 1 1 ...原创 2019-02-14 15:41:59 · 905 阅读 · 1 评论 -
Java Web实例——基于SSM框架的资源管理系统(类似博客系统)
基于SSM框架的资源管理系统(类似博客系统)实现功能:1.管理员登录 2.用户登录 3.用户发表文章 4.用户浏览文章及评论 5.用户修改、删除文章 6.管理员审核、删除文章 7.资源上传 8.资源下载实现步骤:1.创建一个数据库 resource_management 语句:create ...原创 2019-01-28 10:32:51 · 1054 阅读 · 0 评论 -
Java小实例——模拟五子棋游戏
import java.util.Scanner;/** * * @author Administrator 模拟五子棋游戏 */public class Wuziqi { private static String[][] chessboard; private static Scanner input = new Scanner(System.in); privat...原创 2018-07-10 23:35:41 · 1130 阅读 · 0 评论 -
Java IDE使用相关——IntelliJ Idea 常用快捷键列表
Ctrl+Shift + Enter,语句完成“!”,否定完成,输入表达式时按 “!”键Ctrl+E,最近的文件Ctrl+Shift+E,最近更改的文件Shift+Click,可以关闭文件Ctrl+[ OR ],可以跑到大括号的开头与结尾Ctrl+F12,可以显示当前文件的结构Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择Ctrl+N,可以快速打开...原创 2017-11-30 10:28:56 · 624 阅读 · 0 评论 -
Java小实例——获取天气情况
1.构造一个天气的模型(类)public class WeatherInfo { private String date;//时间 private String cityname;//城市名 private String weather;//天气 private String temperature;//气温 private String airquality;//pm2.5...原创 2017-11-21 22:11:57 · 6290 阅读 · 2 评论 -
Java基础知识—— JDK1.5-1.9新特性
JAVA JDK1.5-1.9新特性 1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量级Http Server6.嵌入式数据库 Derby1.71,switch中可以使用字串了...转载 2017-10-14 14:21:06 · 542 阅读 · 0 评论 -
Java多线程——notify()与notifyAll()的区别
notify():唤醒在此对象监视器上等待的单个线程。如果所有线程都在此对象上等待,则会选择唤醒其中一个线程。选择是任意性的,并在对实现做出决定时发生。线程通过调用其中一个 wait 方法,在对象的监视器上等待。直到当前线程放弃此对象上的锁定,才能继续执行被唤醒的线程。被唤醒的线程将以常规方式与在该对象上主动同步的其他所有线程进行竞争;例如,唤醒的线程在作为锁定此对象的下一个线程方面没有可...原创 2017-09-20 00:52:45 · 17848 阅读 · 0 评论 -
Java小实例——实现验证码
今晚看到网上有关验证码的实现的代码,很早就想写一个了,感觉验证码挺有意思的,于是就写了一个,然而后来一直加载不出图片。尝试了很多方法,后来终于解决了,原来是我项目里面的 web.xml中没有部署servlet的映射,web.xml如下图:运行效果如下:代码如下:package model;import javax.imageio.ImageIO;...原创 2017-05-05 01:47:29 · 426 阅读 · 0 评论 -
Java多线程——线程同步
package Demo1; /** * 经典线程同步问题---银行取钱问题 * Created by Petty on 2017/4/10. */ /** * Account类 */ class Account{ //封装账户编号、账户余额两个成员变量 private String acccountNo; private double balance; public Account(...原创 2017-04-10 01:25:48 · 869 阅读 · 0 评论 -
Java多线程——join()方法
package Demo1;/** * Created by Petty on 2017/4/9. */public class Thread_1 extends Thread { //提供一个有参数的构造器,用来设置该线程的名字 public Thread_1(String name){ super(name); } //重写...原创 2017-04-10 00:25:05 · 1189 阅读 · 0 评论 -
Java多线程——基础知识
1.进程与线程区别与关系进程:正在进行的程序(具有独立性、动态性、并发性)。线程:就是进程中一个负责程序执行的控制单元(执行路径)。 a.一个进程中可以有多个执行路径,也就是多线程。b.一个进程中至少有一个进程。c.开启多个线程是为了同时运行多部分代码。d.每一个线程都有自己运行的内容,这个内容可以称为要执行的任务2.多线程的优缺点...原创 2017-04-10 00:20:55 · 294 阅读 · 0 评论 -
Java基础知识——方法参数
方法参数共有两种类型1.基本数据类型(数字、布尔值)2.对象引用(值传递)思考1.方法是否能够修改传递给它的参数变量内容?2.方法是否能够改变一个对象参数的状态?3.方法是否让对象参数引用一个新的对象?进行代码验证:class Employee{ private static int nextId = 1; private String ...原创 2017-01-13 15:51:05 · 389 阅读 · 0 评论 -
Java小实例——GregorianCalendar类实现日历
import java.text.DateFormatSymbols;import java.util.*;public class CalendarTest{ public static void main(String[] args) { //构造一个GregorianCalendar对象d GregorianCalendar d = new GregorianCale...原创 2017-01-12 22:54:53 · 1084 阅读 · 0 评论 -
Java小实例——编写一个加载器
package 编写一个自己的加载器;import java.io.*;//创建一个对文件加密的类public class CypherFile { public static void main(String[] args) throws Exception { //定义源文件和目的文件的目录 String srcPath=args[0]; String destDir...原创 2016-11-06 00:54:23 · 216 阅读 · 0 评论 -
Java基础知识——数组实现进制转化
class ArrayTrans{ public static void main(String[] args) { System.out.println(" 十进制-->二进制:55"); toBin(55); System.out.println(); System.out.println(" 十进制-->八进制:55"); toOct(55); ...原创 2016-11-01 22:36:43 · 368 阅读 · 0 评论 -
Java基础知识——专业术语
Java相关知识补充一、下载相关的软件包JRE------>Java Runtime Environment :Java运行环境JRE里面包含JVM(Java Virtual Machine),核心类库等JDK------>Java Development Kit:Java开发工具包JDK里面包含JRE,Java开发工具包等如果只是要运行java文件,只需要安装JRE即可;...原创 2016-10-30 16:03:20 · 250 阅读 · 0 评论 -
JAVA进阶——应看书籍和步骤
Java语言基础谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《ThinkinginJava》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者BruceEckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获SoftwareDevelopmentJoltAward最佳书籍大奖,《Thi...转载 2016-10-29 23:49:11 · 341 阅读 · 0 评论 -
Java多线程——同步代码块实现取钱实例
package 线程同步;public class Account { // 封装账号编号、账号余额的两个成员变量 private String accountNo; private double balance; public Account() { } // 构造器 public Account(String accountNo, double balance) { ...原创 2016-10-28 00:04:20 · 1879 阅读 · 0 评论 -
Java小实例——简易文件上传器
最近跟着某网站学习了一个小项目,因为白天有课,所以都是晚上写的,今天把它完成了。 项目主要是实现一个文件上传器,通过客户端的登陆,把本地文件上传到服务器的数据库(本地的)。 首先建两个表如下: 一个文件信息表CREATE TABLE `fileinfo` ( `Fname` char(50) NOT NULL, `FInfo` b...原创 2016-10-25 22:48:56 · 2119 阅读 · 1 评论 -
Java Swing——JOptionPane类提示框的一些常用的方法
最近在做swing程序中遇到使用消息提示框的,JOptionPane类其中封装了很多的方法。很方便的,于是就简单的整理了一下。1.1 showMessageDialog显示一个带有OK按钮的模态对话框。下面是几个使用showMessageDialog的例子:Java代码JOptionPane.showMessageDialog(null,"友情提示");...原创 2016-08-16 21:10:57 · 921 阅读 · 0 评论 -
Java IO——DOM,SAX,JDOM,DOM4J,四种解析xml方法比较
4种解析方式的比较1.DOM解析 优点:a.形成了树结构,直观好理解,代码更易编写 b.解析过程中树结构保留在内存中,方便修改缺点: a.当xml文件较大时,对内存耗费比较大,容易影响解析性能并且造成内存溢出2.SAX解析优点:a.采用事件驱动模式,对内存耗费比较小 b.适用于只需要处理xml中数据时缺点:a.不易编码(需要...原创 2016-08-13 21:29:54 · 3523 阅读 · 0 评论 -
Java IO——xml文件解析四(DOM4J方式解析xml文件)
DOM4J也不是java官方提供的xml文件解析的方式,需要自己下载jar包,可以参考下载位置:点击打开链接DOM4jTest.javapackage dom4j;import java.io.File;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import ...原创 2016-08-12 20:55:16 · 605 阅读 · 0 评论 -
Java IO——xml文件解析三(JDOM方式解析xml文件)
JDOM并不是java官方提供的xml文件解析的方式,需要自己下载jar包,可以参考下载位置:点击打开链接1.JDOMTest.javapackage jDomTest;import java.io.FileInputStream;import java.io.InputStream;import java.util.List;import org.jdom.Attri...原创 2016-08-12 18:29:13 · 232 阅读 · 0 评论 -
Java IO——xml文件解析二(SAX方式解析xml文件)
books类用来实现储存xml文件中数据结构public class Books { private String id; private String name; private String author; private String year; private String price; private String language; public Book...原创 2016-08-11 10:53:23 · 321 阅读 · 0 评论 -
Java IO——xml文件解析一(DOM方式解析xml文件)
DOM方式解析xml文件 在Java程序中如何获取xml文件的内容 在Java程序中读取xml文件的过程也称为解析xml文件 解析的目的:获取节点名、节点值、属性名、属性值 四种解析方式:DOM、SAX、DOM4J、JDOM (前两种是Java官方提供的) 本次学习了DOM方式解析xml文件 代码如下 package d...原创 2016-08-10 18:26:06 · 302 阅读 · 0 评论 -
Java基础知识——对象的序列化与反序列化
对象的序列化和反序列化 1)对象的序列化,就是把object转换为byte序列,反之叫对象的反序列化 2)序列化流(ObjectOutputStream),是过滤流------writeObject 反序列化流(ObjectInputSteam)-----------readObject 3)序列化接口(Serializable) 对象必须实现序列化接口,才能进行序列...原创 2016-08-09 22:24:30 · 319 阅读 · 0 评论 -
Java IO——字符流
字符流 1)编码问题 2)认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte.....的序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化位byte的存储结果 3)字符流(Reader Writer)------>...原创 2016-08-09 15:19:39 · 249 阅读 · 0 评论 -
Java IO——字节缓冲流
BufferedInputStream&BufferedOutputStream 这两个流类为IO提供带缓冲区的操作,一般打开文件进行写入或者读取操作时,都会加上缓冲,这种流模式提高了缓冲的性能。 从应用程序中把输入放入文件中,相当于把一缸水倒入另一缸中。 与其他字节流区别如下: 1.FileOutputStream------>write()相...原创 2016-08-08 18:58:02 · 491 阅读 · 0 评论 -
Java IO——字节流(文件输入、输出流)
IO(输入流,输出流)字节流1.字节流1)InputStream、OutputStream InputStream抽象的应用了程序读取数据的方式 OutputStream抽象的应用了程序写出数据的方式2)EOF = End 读到-1就表示读到了文件结尾3)输入流基本方法 int b = in.read();//读取一个字节无符号填充到int低八位.-1是EOF ...原创 2016-08-08 11:02:18 · 1251 阅读 · 0 评论 -
Java IO——文件读写操作
java.io.File类用于表示文件(目录)File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件RandomAccessFile支持随机访问文件,可以访问文件的任意位置(1)java文件模式 在硬盘上文件是byte byte byte储存的,是数据的集合(...原创 2016-08-07 18:24:49 · 325 阅读 · 4 评论 -
Java IO——文件遍历
1.如何判断一个指定名称是否是目录2.如何遍历文件目录,并且包括其子目录的所有内容演示代码如下package file类常用的API;import java.io.File;import java.io.IOException;/* * 列出File的一些常用操作,比如:过滤、遍历等操作 */public class FileUtils { /* * 列出...原创 2016-08-06 22:26:27 · 353 阅读 · 0 评论 -
Java基础知识——文件编码
以前在写代码的时候,有时会出现中文乱码的现象,总是不懂为什么会出现乱码,现在终于弄清楚了。一个文本文件在转换为字符串的时候,该文本文件是什么编码,转字符串的时候也应当是对应的编码。不多说了,代码演示如下,可以自己好好研究下。package 文件编码;public class EncoreDemo { public static void main(String[] arg...原创 2016-08-06 10:10:09 · 232 阅读 · 0 评论 -
Java基础知识——二进制位运算
二进制位运算原创 2016-08-05 08:49:24 · 421 阅读 · 0 评论 -
Java小实例——扑克游戏
package cardGame;/** * 扑克牌类,用来储存扑克牌 */public class Card { private String color; private String cardnum; public static String[] color_name ={ new String("黑头"), new String("红头"), ...原创 2016-08-04 21:07:33 · 1198 阅读 · 1 评论 -
Java集合——Collections.sort()方法的应用
package com.kk.collection;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.Random;/** * 将要完成 * 1.通过Collections.sort()方法,对Integer泛型的List进行排序 * 2...原创 2016-08-04 09:21:57 · 458 阅读 · 0 评论 -
Java集合——Collection接口
Collection接口1.是List、Set和Queue的父接口2.定义可以用于操作的List、Set和Queue的方法--增删改查package com.kk.collection;import java.util.ArrayList;import java.util.Arrays;import java.util.Iterator;import java.uti...原创 2016-07-28 23:28:42 · 244 阅读 · 0 评论 -
Java基础知识——接口详解
接口interface1.接口是一种特殊的抽象类:a.如果一个抽象类中的所有方法是抽象的,这个类就定义为interface接口。b.接口的所有方法通常由子类全部实现,不同子类的实现可以具有不同的功能。c.如果一个类没有全部实现某个接口的所有方法,则这个类必须声明为抽象的。2.接口定义interface Animal{ void eat(); ...原创 2016-07-18 21:30:59 · 374 阅读 · 0 评论