- 博客(25)
- 收藏
- 关注
原创 IDEA 常用快捷键整理
idea常用的快捷键Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动补全代码Ctrl+空格 代码提示Ctrl+Alt+Space 类名或接口名提示Ctrl+P 方法参数提
2020-10-21 20:16:45
197
原创 Java学习 DAY23 模块关系、反射、jdk1.5新特性、jdk1.8新特性
模块之间有关系—耦合度(高内聚、低耦合)反射—解析类,通过字节码对象来获取实例对象的过程Class—代表类的类(产生对象就是一个具体的类(字节码对象))Field—代表属性的类(产生的对象就是一个具体的属性)Method—代表方法的类(产生的对象就是一个具体的方法)Constructor—代表构造方法的类(产生的对象就是一个具体的构造方法)获取字节码的方式1.通过类型.calss来获取字节码对象2.通过对象.getClass()来获取字节码对象你3.通过Class.forName(
2020-09-03 11:52:50
232
原创 Java学习 DAY22 InetSocketAddress类、DUP\TCP协议
InetSocketAddress类—可以代表IP地址和端口号package cn.tedu.net.address;import java.net.InetSocketAddress;public class InetSocketAddressDemo { public static void main(String[] args) { //创建代表IP地址和端口的对象 //localhost解析成127.0.0.1永远只想本地 InetSoc
2020-08-31 18:24:53
294
原创 Java学习 DAY21 线程、锁、网络配置
线程之间存在相互抢占,发生在代码的每一步,导致多线程的数据并发安全问题解决方式—加锁1.同步代码块锁synchronized(锁对象){}根据锁对象共享进来的线程对象保证在执行代码块内容时不会有抢占锁对象:一个对象,可以把哪些线程对象共享进来可以把当前参与的线程对象共享进来的对象方法区资源(把所有的线程对象都共享)this(当参与的所有线程对象被Runnable实现类对象共享)package cn.tedu.thread;import java.io.FileInputStream;
2020-08-31 18:20:37
192
原创 Java学习 DAY20 Properties、断言、线程
Properties可以进行持久化的映射类(父类时Hashtable)键和值都是字符串类型properties文件都是默认是以GBK来进行编码,但是如果出现中文以u16进行编码当作配置文件来使用package cn.tedu.properties;import java.io.FileOutputStream;import java.io.IOException;import java.util.Properties;public class PropertiesDemo1 {
2020-08-28 19:01:57
180
原创 Java学习 DAY19 字符流,字节流,缓冲流,系统流、转换流
硬盘字符流给硬盘上.txt文件写入数据 文件 字符输出流—FileWriter从硬盘上.txt文件读取数据 文件 字符输出流—FileReaderpackage cn.tedu.io.file;import java.io.FileReader;import java.io.IOException;public class FileReaderDemo1 { public static void main(String[] args) throws IOExceptio
2020-08-28 18:55:40
135
原创 Java学习 DAY18 Map、File、IO流
Map是映射的顶级接口实现类:HashMap、HashtableHashMapa.底层基于数组+链表来存储数据b.不能重复且不能保证顺序恒久不变c.允许存储null键和null值d.默认的初始长度为16,默认的加载因子为0.75,默认扩容是在原来的基础上增加一倍e.当给定初始容量(2n~2(n+1)),底层真实容量就是2^(n+1)值f.异步式线程不安全的映射Hashtablea.最早的映射类b.键和值都不能是nullc.默认初始容量是11,默认加载因子是0.75,默认扩容是在原来的
2020-08-25 19:45:59
177
原创 Java学习 DAY17 无序集合,泛型,映射
Set(散列)无序不能存储重复元素实现类:HasSet、LinkedHashSet、TreeSetHashSet底层基于HashMap(基于数组+链表)实现数组存储,不能存储重复元素,不能保证元素存储的顺序恒久不变。默认的初始容量为16,默认加载因子为0.75,每次扩容是在原来的基础上增加一倍。线程不安全的集合。加载因子越大,某个桶中的节点数越多导致查询效率降低加载因子越小,进行频繁的扩容与rehash操作,导致大量的内存在浪费。当某个链表的长度大于8个时,在jdk1.8时会把链表扭转成二叉
2020-08-25 08:43:03
307
原创 Java学习 DAY16 列表、迭代器
List实现类:ArrayList、LinkedList、Vector、Stack***ArrayList:***底层由数组实现数据存储,默认初始容量为10,数组底层扩容根据右移运算每次扩容一半***ArrayList(顺序表)***:底层由数组实现的数据,,默认初始容量为10,内存连续,需要扩容底层根据右移运算进行扩容,每次扩容都是在原容量的基础上增加一半。增删效率较低、查询效率较高。线程不安全的集合。小练习:用数组实现ArrayListpackage cn.tedu.collection.li
2020-08-24 08:57:02
149
原创 Java学习 DAY15 异常捕获方式、集合引入
捕获方式1.分别捕获—针对方法上抛出的所有异常进行分别处理(提供对应的catch,进行分别处理)2.统一捕获—针对方法上抛出的所有异常进行统一处理(提供一个catch以及抛出异常类的公共父类)3.分组捕获—提供|来间隔一组之间的异常类进行统一处理(jdk1.7出现的)package cn.tedu.exception;public class ExceptionDemo1 { public static void main(String[] args) { //调用方法读
2020-08-22 08:59:12
331
原创 Java学习 DAY14 包装类、教学类、时间、异常
包装类6.包装类对象的哈希码值是固定的7.数值类型的包装类的父类是Numberpackage cn.tedu.baozhuang;public class BZDemo1 { public static void main(String[] args) { //包装类的对象的哈希码值是固定值 System.out.println(new Integer(1).hashCode()); System.out.println(new Byte((
2020-08-19 18:24:02
123
原创 Java学习 DAY13 String(2) 包装类
String重要方法1.intern():把指向转向到方法区2.isEmpty():判断字符串对象内容是否为空package cn.tedu.string;public class StringDemo1 { public static void main(String[] args) { // /*String str1="abc"; String str2=new String("abc"); //把指向转向到方法区
2020-08-18 18:35:58
136
原创 Java学习 DAY12 String类(1)
String最终类java中所有的字符串常量都是String类的对象 p.name="豆豆";String类底层是根据不可改变字符数组来实现数据存储,String类对象的内容无法改变(常量)java中所有的常量存储在方法区的运行时常量池当常量池中已经存在引用,如果后续有同名的引用那么共享一个引用(共享)//创建了几个对象?5个对象String str="a";//1str+="b";//str=new StringBuilder("a").append("b").toString();
2020-08-17 18:14:38
144
原创 Java学习 DAY11包、API学习
包使用方式a.声明包—package 告知程序当前定义类/接口所在的位置 只能出现一次且出现在首行b.导入包—import 把和当前位置不在一个包下的类/接口的位置告知程序 可以出现多次且不在首行*(通配符—可以把当前包下所有的类/接口都能匹配过来)**提供包**Java(源生包)lang包:档程序启动时必须加载的信息(核心类库)until包:提供大量的信息来操作类/接口IO包:做数据传输math包:提供简单的数学运算net包:网络nio包:高并发security包:
2020-08-17 08:46:12
124
原创 Java学习 DAY10 抽象类、接口、内部类
abstract(抽象)关键字,修饰符 方法、类当所有的子类对父类的某个方法都进行了不同程度的重写,那么这个方法的方法体没有实际含义就可以把方法体去掉,加上abstract关键字修饰方法-----抽象方法。一个类中如果出现了抽象方法那么这个类就要变成抽象类。普通类继承抽象类需要重写所有的抽象方法,如果不想重写所有的抽象方法可以把普通类变成抽象类。package cn.tedu.abstractx;public class AbstractDeno1 { public static voi
2020-08-14 18:10:12
202
原创 Java学习 DAY09 静态、最终
static(静态)关键字,修饰符 变量、方法、代码块、内部类静态变量静态变量是随着类的加载(方法区的静态常量池)加载到方法区的静态区,与类同级也叫类变量,通过类名.形式来调用静态变量,也可以通过对象来调用静态变量。存储在方法区静态区时会默认给静态变量赋予系统默认初始值。类产生的对象共享同一个静态变量。看静态变量是否需要被所有的对象来共享,如果需要共享就设置成静态变量。方法里可以定义静态变量?静态变量与类同级,只有方法被调用时里面的内容才能出现,前后矛盾,不能定义package cn.te
2020-08-11 18:19:06
140
原创 Java学习 DAY08 面向对象,继承,多态,封装
继承如果多个类的内容重复出现重复,把重复的内容放到一个新的类中,通过extends关键字让原来的类和新的类产生关联关系—继承。原来的类是子类,新的类是父类。子类可以继承父类部分信息(父类的私有化信息、构造方法以及构造代码块)。继承方式(单继承)子类只能有一个父类,一个子类可以有多个子类Class A extends B{}Class B extends BC}Class C{}-------(多级继承)public class ExtendsDenmo1 { public stati
2020-08-10 18:22:50
161
原创 Java学习 DAY07 对象和类
面向对象的引入面向对象本质是一种编程范式(思考方式)面向过程:关注的是代码的实现细节面向对象:先把代码实现细节整合到对象中,找到这个对象就能拥有对象的功能面向对象基于面向过程,面向对象优于面向过程?如果我们场景比较简单优先推荐面向过程,如果场景很复杂优先推荐面向对象对象和类之间的关系对一类对象来进行抽取,把共有的特征信息抽取成了属性,把共有的行为信息抽取成了方法,把这一类对象抽取成了类。类是对对象的概括,对象是对类的具体实现。构造方法a.构造方法b.1.与类同名 2.没有返回值类型
2020-08-10 08:39:12
190
原创 Java学习 DAY6 方法 数组扩容
数组应用扩容----数组定义完成长度无法改变—数组复制package day06;import java.util.Arrays;/** * * @author tarena * */public class ArrayKuoDemo { public static void main(String[] args) { //定义原数组 int[] arr = {1,2,3,4,5}; //根据新数组之间的复制来实现扩容 //复制灵活(给定起始位置)但是
2020-08-07 18:24:27
160
原创 Java学习 【循环的练习题】
完数:1.如果一个数等于其所有因子之和,我们称这个数为“完数”。例如:6的因子为1,2,3,6=1+2+3,6就是一个完数。编程打印出1000以内所有的完数。运行结果:6 24 24 24 24 28 496/** * 完数: * 如果一个数等于其所有因子之和,我们称这个数为“完数”。 * 例如:6的因子为1,2,3,6=1+2+3,6就是一个完数。 * 编程打印出1000以内所有的完数。 * * * 运行结果:6 24 24 24 24 28
2020-08-06 17:24:55
601
原创 Java学习 DAY05 数组
Java基本语法:跳转控制语句:break(在switch语句里用于结束语句 在循环里面使用结束当前循环)continue(跳过当次循环)return(方法时讲)数组:可以存储多个相同数据类型元素的容器定义格式: 1.数据类型[] 数组名 = new 数据类型[元素个数/数组长度] int[] arr = new int[3];//指定长度 数据类型 名称 = 初始化; //定义变量变量定义分为声明和初始化两个过程可以分为声明和初始化两个过程
2020-08-06 09:31:26
610
原创 Java学习 DAY04 流程控制
键盘录入步骤:1.导包------------获取信息位置2.找到Scanner----------3.获取数据package day04;//1.导包import java.util.Scanner;/** * 键盘录入获取数据 * * 导包 * @author tarena * */public class JavaDemo1 { public static void main(String[] args) { //2.找到scanner Scann
2020-08-04 18:41:56
688
原创 Java学习 DAY03 运算符
算术运算符/* 算术运算符 *、-、*、/、%、++、-- ++、-- 使用方式:单独使用 参与运算 当++、--出现在操作数的后面时,先传值再自加1/自减1 当++、--出现在操作数前面时,先自加1/自减1再传值 */public class SuanShu { public static voi
2020-08-04 08:37:44
146
原创 Java学习DAY02 Java的基本语法
关键字在java中具有特殊功能的单词一共有53个(const、goto都是保留字)都是小写标识符在Java中可以自定义的名称组成范围各国常见文字数字(0~9)特殊符号(_、(慎用内部类默认标识符里使用(慎用 内部类默认标识符里使用(慎用内部类默认标识符里使用))命名规则不能以数字开头不能是关键字当在组成范围之内并且遵守命名规则—合法标识符命名规范(驼峰命名法)类名/接口名----XxxYyyZzz方法名/变量名—xxxYyyZzz包名(包代表文件夹来区分同名类)单级: x
2020-08-03 08:43:26
157
原创 Java学习 DAY01 Java引入
Java简介从1993年左右推出的一款高级编程语言(Oak 橡木),面向互联网变成,安全可靠、面向对象、跨平台等特点**java基本语法-------跨平台(操作系统)**JVM(java虚拟机),先在对应的操作系统上安装对应版本的JVM,把我们的应用程序放到JVM中执行,传入相同的应用程序保证在不同操作系统上得到的结果是一样的,屏蔽底层操作系统差异性java三大技术架构J2se(基础版/标准版)–给小型应用程序以及桌面服务提供开发的解决方案J2ee(企业版)–给企业中的集中式开发提供方案
2020-08-01 08:50:10
121
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人