
Java笔记
Java学习的点点滴滴
Tommey01
不要在最美的年龄里选择安逸
展开
-
(2)NIO的学习与应用
1,阻塞和非阻塞的概念2,阻塞3,非阻塞4,DatagramChannel5,Pipe管道阻塞和非阻塞的概念传统的 IO 流都是阻塞式的。也就是说,当一个线程调用 read() 或 write()时,该线程被阻塞,直到有一些数据被读取或写入,该线程在此期间不能执行其他任务。因此,在完成网络通信进行 IO 操作时,由于线程会阻塞,所以服务器端必须为每个客户端都提供一个独立的线程进...原创 2020-03-05 23:33:38 · 238 阅读 · 0 评论 -
(1)NIO的学习与应用
1,NIO的简介2,NIO和IO的区别3,缓冲区(Buffer)的数据存取4,通道(Channel)的原理与获取5,分散(Scatter)读取与聚集(Gather)写入6,字符集:CharsetNIO的简介Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。NIO与原来的IO有同样的作用和目的,但是使用的...原创 2020-03-05 22:43:56 · 260 阅读 · 0 评论 -
一个简单可以聊天的聊天界面
一个简单QQ聊天界面package com.cts.entity;import java.awt.*; import java.awt.*; import java.net.*;import javax.swing.*;public class Chat extends JFrame {private String friendIp;// private int port...原创 2018-08-01 22:40:02 · 1542 阅读 · 0 评论 -
(31)反射
Java反射机制概念1,什么是反射? Reflection(反射):是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。2,Java 反射机制提供的功能①,在运行时判断任意一个对象所属的类②,在运行时构造任意一个类的对象③,在运...原创 2020-02-18 00:04:08 · 161 阅读 · 0 评论 -
(30)java中的网络编程
网络编程的概述网络通信协议1,网络编程的目的: 直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯2,网络编程中有两个主要的问题: ①,如何准确地定位网络上一台或多台主机,定位主机上的特定的应用 &nbs...原创 2020-01-20 16:29:22 · 262 阅读 · 1 评论 -
(29)Java中IO流的使用
IO流体系中常用的流分类IO流体系分类字节输入流字节输出流字符输入流字符输出流抽象基类InputStreamOutputStreamReaderWriter访问文件FileInputStreamFileOutputStreamFileReaderFileWriter访问数组ByteArrayInputStreamByteArrayOut...原创 2020-01-17 22:06:11 · 370 阅读 · 0 评论 -
(28)泛型和File类的使用
泛型1,泛型的概念Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter)这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。2,在集合中使用泛型,总结:①, 集合接口或集合类在jdk5是都修改为带泛型的结构②,注意:泛型的类型必须是类,不能是基本数据类型。③,如果实例化时...原创 2020-01-17 11:23:00 · 213 阅读 · 0 评论 -
(27)线程安全的实际应用
1, 同步方法2, 同步代码块3, 使用Lock锁4, 比较同步方法,同步代码块和Lock锁的区别如何解决线程安全的问题1,同步方法,具体实现如下: public static void main(String[] args) { ...原创 2019-12-11 11:41:10 · 346 阅读 · 0 评论 -
(26)程序,线程,进程的理解
1, 什么是程序?2, 什么是进程?3, 什么是线程?4, 单核CPU和多核CPU的理解5, 并行与并发6, 使用多线程优点7, 创建多...原创 2019-12-10 14:44:34 · 360 阅读 · 0 评论 -
(25)Jdk中的常用注解————概念及应用
JDK内置的三个基本注解1, @Override:限定重写父类方法,该注解只能用于方法2, @Deprecated:用于表示所修饰的元素(类,方法等)已过时。通常是因为所修饰的结构危险3, @SuppressWarnings:抑制编译器警告jdk提供的4种元注解元注解:对现有的注解进行解释说明的注解1,Retention(常用)@Retention:只能用于修饰一个Annotatio...原创 2019-12-25 11:36:34 · 758 阅读 · 0 评论 -
(24)Stack和Vector
Java中的Stack类Stack(栈)是Vector的一个子类,实现了后进先出的栈,它的方法也是同步的,也是线程安全,跟父类一的扩容方式Stack的所有方法empty —>测试堆栈是否为空peek —>查看堆栈顶部的对象,不从堆栈中移除它pop —>移除堆栈顶部的对象,并作为此函数的值返回该对象push —>把项压入堆栈顶部search...原创 2019-06-25 20:19:13 · 2092 阅读 · 0 评论 -
(23)Java中的集合类
一,集合类概述 1,List集合 2,Set集合 3,Map集合 4,Arrays类与Collections类集合类概述Java.util包中提供了一些集合类,这些集合类又被称为容器。提到容器就会想到数组,它们的作用都是一样的,存储数据。集合与数组的区别:数组是一种集合,长度是固定的,储存同一种数据类型集合只能存储对象,对象类型可以不一样的长度可变集...原创 2019-11-20 14:30:16 · 425 阅读 · 0 评论 -
(22)比较全面的正则表达式的使用
正则表达式什么是正则表达式:正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。目前,正则表达式已经在很多软件中得到广泛...原创 2019-11-15 13:25:39 · 319 阅读 · 0 评论 -
(21)String类的使用
String类什么是String:由于char类型只能表示单个字符,所以要表示多个字符连接成的一个字符串必须通过java.lang中的String类来处理。声明一个字符串:在Java语言中字符串必须包含在双引号("")之内。例如:“10.3”,“ADWQ21”,“你好”。这些都是字符串常量,字符串常量是系统能够显示任何文字信息,甚至是单个字符。不过要注意的是:在Java中用("")包围...原创 2019-11-05 18:06:03 · 456 阅读 · 0 评论 -
(20)Java中的时间操作类(Date和Calendar)
Date类什么是Date类:java.util.Date类,在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。构造方法Date():使用Date类的默认构造方法创建出的对象就代表当前时间,由于Date类覆盖了toString方法,所以可以直接输出Date类型的对象。...原创 2019-11-04 14:44:59 · 299 阅读 · 0 评论 -
(19)数据存储区域和高精度类
一,Java中的数据存储的区域在程序运行,有五个不同的地方可以存储数据:寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。栈(stack)。位于通用RAM((random-access memory )随机访问在存储器)中,但通过堆栈指针可以从处理器哪里获得直接支持。栈中主要存放基...原创 2019-09-12 16:56:05 · 204 阅读 · 0 评论 -
(18)Java中的数字处理类
数字格式化类为什么要格式化数字?数字的格式化在解决实际问题时非常普遍,如表示超市的商品价格,需要保留两位有效数字。Java数据遵原则:Java中没有格式化的数据遵循以下原则:如果数据绝对值大于0.001并且小于10000000,Java将以常规小数形式表示。如果数据绝对值小于0.001或者大于10000000,Java将以科学记数法表示。DecimalFormat类:由...原创 2019-10-17 09:17:08 · 436 阅读 · 0 评论 -
(17)Java中的封装类
封装类简介什么是封装类:也叫包装类。为了能将基本类型转化为对象进行处理,并能连接相关的方法,Java为每个基本数据类型都提供了包装类,这样便可以把这些基本类型转换为对象来进行处理了。需要说明的是,Java是可以直接处理基本数据类型的,但在有些情况下需要将其作为对象来处理,这时就需要将其转换为包装类了。什么是API:Application Programming Interface,应用程序...原创 2019-09-30 14:43:40 · 4538 阅读 · 0 评论 -
(16)Java中的内部类
内部类简介在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类一个源文件中写入多个类,但是只能有一个public类, 而且如果有public类的话,这个文件的名字要和这个类的名字一样。如果都没有public类,名字可以不和这个类一样。举例: publ...原创 2019-09-29 17:04:42 · 127 阅读 · 0 评论 -
(15)Java中的异常
异常异常所带来的一个相当明显的好处是,它能降低错误代码处理的复杂度。最大的异常是Throwable,异常可分为可修复异常(Exception)和不可修复异常(Error)Exception:程序本身及环境Error:内部系统,堆内存溢出错误,引用不释放,会造成内存泄露问题对于程序中的问题有三种编译期异常运行时异常逻辑异常常用的异常 RuntimeException 运行...原创 2019-05-31 16:24:43 · 196 阅读 · 0 评论 -
(14)抽象类和接口
一,抽象类为什么使用抽象类:我们一般会将父类定义为抽象类,比如有汽车类,汽车中有开车方法,但是具体开什么车是不知道的,即在汽车类中这个方法是没有什么具体意义的。所以这个汽车类就是一个抽象的类。定义抽象类语法:public abstract class 类名{}抽象方法使用abstract定义的类称为抽象类,而使用这个关键字定义的方法称为抽象方法。抽象方法没有方法体,这个方法本身没有任何...原创 2019-09-11 09:57:19 · 210 阅读 · 1 评论 -
(13)递归,多态和final关键词
一, 递归什么是递归:一个方法体内调用它自身,这样的方法我们称之为方法递归。方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。所以使用递归的计算必须是有规律的,有出口的。例:求10的阶乘10!。提示:3!=3*2*1,0!=1,1!=1。 public class Recursive { //计算n的阶乘 public int factorial...原创 2019-09-09 16:23:28 · 198 阅读 · 0 评论 -
(12)继承,重写,重载和对象的类型转换
一,继承继承的含义:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。为什么使用继承:从已有的类派生出新的类,称为继承。在不同的类中也可能会有共同的特征和动作,可以把这些共同的特征和动作放在一个类中,让其它类共享。 因此可以定义一个通用类,然后将其扩展为其它多个特定类,这些特定类继承通用类中的特征和动作。...原创 2019-09-05 14:43:03 · 257 阅读 · 0 评论 -
(11)访问权限,构造方法和main方法
一, 四种访问权限Java中的权限修饰符:有四种,分别是private(私有的)、缺省的(不写)、protected(受保护的)、public(公共的)。权限修饰符的作用:控制着对类和类的成员变量以及成员方法的访问。 **注意:**局部变量是不能用权限修饰符修饰的。四种访问权限的排序与访问范围:按访问的范围从小到大排列:private < 缺省的 < protected &...原创 2019-09-04 11:11:15 · 959 阅读 · 0 评论 -
(10)面向对象
一、类与对象的概念对象现实世界中,随处可见的事物就是对象。比如人、书桌、电脑、瓶子、显示器、主机等。每一个对象又可以划分为两个部分,即 静态部分 与 动态部分 。静态部分 :就是不能动的部分,这个部分被称为 “属性” 。任何对象都会具备其自身的属性,如一个人,其属性可以包括: 高矮、胖瘦、性别、年龄 等。动态部分::就是一个对象会执行哪些动作,也叫做 行为 。比如人的动作可以有: 哭泣、...原创 2019-09-04 09:46:29 · 188 阅读 · 0 评论 -
(09)Java中常用的排序
##Java中常用的排序方法冒泡,选择,插入,快速,最重要的是掌握思想1,冒泡排序 int[] arr = {13,4,423,52,344,12}; for (int i = 0; i < arr.length-1; i++) { for (int j = 0; j < arr.length-1-i; j++) { if(arr[...原创 2019-05-29 14:58:41 · 278 阅读 · 1 评论 -
(08)二维数组的应用
平常工作中日常中二维数组虽然用的比较少,但还是温习一下吧1. 定义一个二维数组,用来记录3个学生的java,c#,sql三门功课的成绩,二维数组的一行记录一个人的成绩,要求循环输入,最后输出格式如下: public static void main(String[] args) { int[][] scores = new int[3][4]; Stri...原创 2019-09-03 11:03:10 · 1203 阅读 · 0 评论 -
(07)一维数组的应用
1,用数组实现寝室管理系统,要求实现对单个宿舍中的成员的增加,删除,修改,查找,例如: public static void main(String[] args) { boolean flag = true;//为了while循环的需要 Scanner scan = null;//定义控制台输入扫描器 in...原创 2019-08-30 14:35:42 · 383 阅读 · 0 评论 -
(06)ASCII码表
1,ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,它是现今最通用的单字节编码系统。将计算机的二进制语言与其他进制、字符进行转换。2. 中文不能使用ASCII码怎么办?所以要增加由ASCII引申而来的其他国家的编码:用的汉字字符集有GB2312-80,GBK,Big5...原创 2019-08-28 17:51:31 · 906 阅读 · 0 评论 -
(05)while循环的应用
1,指出队列和栈的最大区别1,队列:先进先出,栈:先进后出2,栈:只能在表的一端进行插入和删除,队列:只能在表的一端进行插入,另一端进行删除3,栈:只能从顶部取数据,也就是说最先进入栈底的,需要遍历整个栈才能取出来,而且在遍历数据的同时需要为数据开辟临时空间,保持数据在遍历前的一致性队列:基于地址指针进行遍历,而且可以从头部或者尾部进行遍历,但不能同时遍历,无需开辟空间,因为在遍历的过程中...原创 2019-08-27 17:50:29 · 2065 阅读 · 0 评论 -
(04)Java代码编写规范
Java代码编写规范为什么要有代码编写规范(Why Have Code Conventions?)(Sun MicroSystems公司)一个软件的生命周期中,80%的花费在于维护。几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护。编码规范可以改善软件的可读性,可以让程序员尽快而彻底地理解新的代码。如果你将源码作为产品发布,就需要确任它是否被很好的打...原创 2019-06-29 10:12:59 · 502 阅读 · 0 评论 -
(03)Java基础笔记
Java中的的if语句if(条件表达式){ //条件表达式为true的时候执行的语句}else{ //条件表达式为fasle的时候执行的语句}if(条件表达式){ //条件表达式为true的时候执行的语句}else if(条件表达式){ //条件表达式为true的时候执行的语句 }else{ //条件表达式为fasle的时候执行的语句}执行流程图:多分支语...原创 2019-03-29 16:13:33 · 186 阅读 · 0 评论 -
(02)Java基础笔记
Java的命名规范名称只能由字母,数字,下划线,$符合组成不能以数字开头不能使用Java关键词变量名,方法名首字母小写,常量名全部大写Java中的注释方法单行注释 //注释的内容多行注释(块注释) /…/多行注释(Javadoc注释) /**…*/Javadoc注释的作用是生成注释文档Java中的八大基本数据类型整数型:byte(字节),short(...原创 2019-03-29 11:48:13 · 318 阅读 · 0 评论 -
(01)Java基础笔记
欢迎进入Java世界Java的简介Java是一种面向对象的程序设计语言如果你想对Java做个详细的了解,《请点击合理》除此之外你要安装一个编译Java的工具,建议使用IDE链接:https://pan.baidu.com/s/1viVwiylminscVmuzs4ekyQ提取码:xhetJava的体系结构1.JDK :开发的工具包2.JRE :Java运行时的环境3.JVM :J...原创 2019-03-19 17:20:15 · 509 阅读 · 2 评论