自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

臭憨的博客

Java开发学习

  • 博客(48)
  • 收藏
  • 关注

原创 Java开发面试总结

主键和索引的区别?1.主键是什么?主键是非空唯一约束,可以是有意义的列,也可以是没有意义的列,是用做每一行的唯一标识的。创建主键的时候,Oracle数据库会自动创建为主键创建唯一值索引。2.主键的作用?主键就是用来唯一标识一行数据的,主键列必须非空唯一,只要满足非空唯一的都可以用做主键,联合主键是几个列的值联合在一起时是非空唯一的,共同起到唯一标识一行数据的作用,一般主键都用没意义的一列。3.索引是什么?索引类似书的目录结构,Oracle的索引是一种对象,是与表关联的可选对象,能够提高sql查询

2021-11-25 16:54:02 1520

原创 html-css-js

html,超文本标记语言,解释执行的文本类标记语言,是Internet上用于编写网页的主要语言。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。html是一种规范、标准,通过标记符号来标记要显示的网页中的各个部分。HTML的基本结构:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html> <head>

2021-11-05 16:22:53 598

原创 html的颜色有多少种?

html的颜色由红®、绿(G)、蓝(B)三原色组成。每种颜色的最低值为0(十六进制为000),最高值为255(十六进制为FF)。十六进制值的写法:#十六进制字符(3或6个字符)。所以html的颜色一共有256*256*256=16,777,216种。 LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 深红(猩红) #DC143C 220,20,60 LavenderBlush 淡紫红 #

2021-10-31 15:36:38 2640

原创 Java_进制,补码,eclipse快捷键

进制1.进制就是进位制,对于任何一种进制–x进制,表示运算时逢x进一。2.进制表示形式:(1)二进制:由0,1组成,以0b开头;0b1111(2)八进制:由0,1,…7组成,以0开头;017(3)十进制:由0,1,…9组成,整数默认以十进制表示;15(4)十六进制:由0,1,…9,a,b,c,d,e,f,以0x开头;0xf原反补码1.原码:正整数的原码是其二进制形式负整数的原码是其绝对值二进制形式的基础上,将符号位 置12.反码:正数的反码与其原码相同负数的反码是对其原码逐位取反,

2021-09-28 00:32:31 163

原创 Java_xml

Java中的引擎是什么?引擎就是封装了代码/函数库,通过调用代码/函数库的接口来实现特定的功能,引擎可以理解为一个解析器。SYSTEM:本地引入dtd文件编写本地dtd;xmlns.context:context是上下文,这个文件可以理解为环境;xmlns.xsi:一般不使用;导入xml,dtd;解析xml:DOM4j,dom,sax;xml过大时会消耗较大的堆内存,所以让xml解析小文件;dom和sax都不借助别的jar包,jdk自带API可以完成。文本结点没有属性,返回为null,直

2021-09-27 22:02:30 144

原创 Java_IO流、网络编程

IO流的四大类:字节输入流InputSream字节输出流OutputStream字符输入流Reader字符输出流Writerflush()刷新流ByteArrayOutputStream:字节数组输出流的toByteArray()方法getBytes():字符串转换成字节数组read什么就write什么:读取字节就写出字节,读取数组就写出数组管道流:通过线程之间的管道对接PipedInputStream和PipedOutputStreamconnect连接两个线程in.connect(

2021-09-27 21:30:55 180

原创 Java_前3章

1.Java历史:1995年Sun公司推出,最初命名Oak(橡树)。口号:一次编译,到处运行。Java技术体系:面向桌面应用开发J2SE,面向企业级开发J2EE,面向手机等移动终端开发J2ME。2009年Oracle公司收购Sun公司。2.SDK,软件开发包,主要包含函数库或工具;JDK,Java程序开发工具包,面向Java程序的开发者;JRE,Java程序运行环境,面向Java程序的使用者;API,应用程序编程接口;API Documentation,API说明文档,描述API中的类、方

2021-09-27 21:24:21 137

原创 Java_反射

反射是java中提供的一种机制,它允许我们在程序运行的时候,动态获取一个类中的基本信息,并且可以调用类中的属性、方法、构造器。查看类中声明的属性:public static void main(String[] args)throws Exception { Class c = Class.forName("com.briup.demo.Student"); Field[] fields = c.getDeclaredFields(); for(Field f : fields){ Sys

2021-09-25 14:33:31 94

原创 Java_泛型

泛型是JDK1.5及以上才可以使用的特性/语法,本质是类型参数化(Parameterized by types)。T是泛型参数,表示一种数据类型,具体是什么类型,需要将来使用的时候进行传参来确定;如果在使用的时候,没有给泛型参数T传值,那么T默认就表示为Object类型;T是泛型参数的名字,也就是相当于形参,名字随便起,但是一般用一个有意义的大写字母。public interface Collection<E>{ boolean add(E e);}Collection是一个泛型接口

2021-09-25 14:25:45 161

原创 Java_集合

集合集合是JavaAPI中提供的一种容器工具,可以用来存储多个数据。集合和数组之间的区别有:(1)数组的长度是固定的,集合的长度是可变的;(2)数组中存储的是同一类型的元素,集合中存储的数据可以是不同类型的;(3)数组中可以存放基本类型数据或者对象,集合中只能存放对象;(4)数组是由JVM中现有的类型+[]组合而成的,只有一个length属性,还有从Object中继承过来的方法;集合是由JavaAPI中的java.util包里面所提供的接口和实现类组成的,这里面定义并实现了很多方法,可以使用集合

2021-09-25 14:19:16 155

原创 Java_枚举类

枚举,是JDK1.5引入的新特性,可以通过关键字enum来定义枚举类。枚举类是一种特殊的类,它和普通类一样可以使用构造器、定义成员变量和方法,也能实现一个或多个接口。枚举其实也是一种类,同时还是一个final修饰的类。枚举类型都会默认继承一个父类型(java.lang.Enum),这还是一个抽象的泛型类。枚举中所定义的对象,其实就是类里面的public static final修饰的常量,并且这些常量会在静态代码块中做初始化。枚举类型中还一个默认的私有构造器,说明在枚举类的外面并不能自己去创建枚

2021-09-25 13:56:06 417

原创 Java_注解

注解(Annotation),是jdk5.0引入的技术,用它可以对java中的某一个段程序进行说明或标注,并且这个注解的信息可以被其他程序使用特定的方式读取到,从而完成相应的操作。@Override 注解:public class Person {@Overridepublic String toString() {return super.toString();}}编译器在编译该类的时候,会读取到toString方法上的注解@Override,从而帮我们检查这个方法是否是重写父类中的,

2021-09-25 13:18:10 72

原创 Java常量优化机制

package com.briup.day02;/** * @author chouhan * 3.常量优化机制、运算符 */public class Test1 { public static void main(String[] args) {// float f=3.14; float f=3.14f;//必须加上f System.out.println(f);// boolean b=1; boolean b=true;//boolean类型只有true和false

2021-09-22 23:10:50 272

原创 Java实现杨辉三角

package com.briup.day02;/** * 4.杨辉三角 */public class Triangle { public static void main(String[] args) { Triangle t=new Triangle(); t.test(7);//7行的正三角形 t.test2(); } public void test(int line) { for (int i = 0; i <= line; i++) { for (int

2021-09-22 23:10:36 63

原创 Java创建对象,Java的局部变量和实例变量

package com.briup.day03;/*1.创建对象的过程**画内存图!!!2.局部变量和实例变量的区别**A:在类中的位置不同成员变量:在类中方法外局部变量:在方法定义中或者方法声明上**B:在内存中的位置不同成员变量:在堆内存(成员变量属于对象,对象进堆内存)局部变量:在栈内存(局部变量属于方法,方法进栈内存)**C:生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失**D:初始化值不同

2021-09-22 23:10:11 319

原创 Java_字符串常量池

package com.briup.day03;/** * @author chouhan * String重写了equals方法,比较的只是字符串的字面值是否相同。 * ==进行比较时,要考虑字符串常量池: * 字符串常量池-->jvm提供的优化机制-->以字面值形式定义新的字符串对象时,会把堆中的这个 * 字符串对象保存到字符串常量池中,下次再以字符串字面值创建时会先去常量池找是否有这个字面值 */public class StringTest { public stati

2021-09-22 23:09:53 69

原创 Java_staitc关键字

package com.briup.day03;/** * 成员方法属于对象;构造器是特殊方法属于类。 *//*static关键字-->可以修饰什么?-->类中有什么?1.属性:属性归类所有,通过对象操作 >>一般不建议将static修饰的属性进行构造器初始化。 >>建议的初始化方式:静态属性显式初始化;静态代码块初始化。2.方法:静态只能访问静态(类的加载顺序)3.代码块: a.局部代码块(方法中) b.构造代码块(匿名代码块)类中,方法外 每次

2021-09-22 23:09:35 84

原创 Java_多态

package com.briup.day04;/** * 创建什么类型的对象,就只有该类型对象的空间的操作权限。 * 虽然引用指向的是子类的对象,但new的是子类对象>>在堆开辟的空间是 * 子类类型的内存和父类类型的操作权限>>不能调用子类中独有的方法 * instanceof:判断引用指向的内存空间是否为该类型? */public class PolymorphicTest { public static void main(String[] args) {

2021-09-22 23:09:24 97

原创 corejava_子类重写父类

package com.briup.day04;/** * 子类重写父类的方法后,再创建子类对象,就一定会调用子类重写的方法 *//* * 父类私有属性和方法其实可以被继承,但继承后有一个筛选的过程,使得子类不能访问父类的私有属性和方法。 * 1)私有属性可以通过父类中定义公共的get/set方法访问; * 2)私有方法可以通过在父类中定义公共方法,在公共方法中调用私有方法, * 子类可以通过继承这个公共方法访问到父类的私有方法。 */public class Test2 { publ

2021-09-22 23:09:02 82

原创 corejava_子类继承父类

package com.briup.day04;public class Test1 { public static void main(String[] args) { Fu f = new Zi();// f.method();//父类不能使用子类的特有属性和方法 //向下转型,让父类的引用f指向子类对象z,转型后才能获得Zi类的所有属性和方法的操作权限。 Zi z=(Zi)f; z.method(); /*

2021-09-22 23:08:46 59

原创 corejava_day01_串讲作业

修正 Test1.java 、 Test2.java 、 Test3.java 、 Test4.java ,四个java源文 件中的错误,使其能够编译和运行;public class Test1 { public static void main(String[] args) { System.out.println("What's wrong with this program?"); }}public class TestAnother1 { public static void.

2021-09-21 12:11:58 218

原创 Java常见理论面试题

&和&&的区别&是与运算符,有0与就是0,也可以作为布尔表达式中的逻辑运算符。按位与,逻辑与。&&是逻辑运算符,表示短路与。&和&&最大的区别在于短路功能。短路就是指要先满足第一个条件,才会对第二个条件进行判断。break ,continue ,return 的区别及作用(1)break语句用于终止某个语句块的执行,终止本层循环,跳出总的上一层循环,作用是退出当前循环体或者switch代码。(2)continue语句..

2021-09-21 12:04:40 155

原创 Java_内部类

内部类,不是在一个java源文件中编写俩个平行的类,而是在一个类的内部再定义另外的一个类。内部类有四种:成员内部类;静态内部类;局部内部类;匿名内部类。成员内部类:(1)成员内部类中,不能编写静态的属性和方法。(2)代码编译后,会产生两个class文件,一个对应外部类,一个对应内部类:MemberOuterClass.class;MemberOuterClass$MemberInnerClass.class。(3)成员内部类和外部类的相互访问:1)成员内部类访问外部的属性和方法,直接通过类

2021-09-21 11:58:03 80

原创 corejava_类和对象

oop:面向对象;pop:面向过程;fp:面向函数编程的目的是什么?为了把现实世界中的事物用语言表示出来。如何去描述现实世界中的事物?属性:对该事物的描述信息,事物身上的名词;行为:事物能做什么,事物身上的动词。Java中最基本的单位是类,Java中用类class描述事物:成员变量->事物的属性;成员方法->事物的行为。类是什么?对象是什么?类是一组相关的属性和行为的集合。对象是该类事物的具体体现。成员变量和局部变量的区别:在类中的位置不同:成员变量在类中,方法外;局部

2021-09-21 11:52:31 98

原创 Java_Object类

Object类是所有类的父类型,类中定义的方法,java中所有对象都可以调用。1.toString方法:可以返回一个对象默认的字符串形式。子类中可以对该方法进行重写。默认情况下,println方法会调用当前对象的toString方法。2.getClass方法:可以返回一个引用在运行时所指向的对象,具体类型是什么。子类中不能重写getClass。3.equals方法:可以比较俩个对象是否相等。Object中的equals方法,是直接使用的**==**号进行的比较,比较俩个对象的地址值是否相等。子类中可以

2021-09-21 11:46:25 48

原创 Java_数组

数组是一组数据的集合,数组中的每个数据被称为元素。在java中,数组也是对象,数组中的元素可以是任意类型(基本数据类型或引用类型),但同一个数组里只能存放类型相同的元素。相同的数据类型是指类型相同或兼容的数据,兼容就是允许自动类型转换。args.length用于获取这个数组对象中的元素个数,length是数组的属性;args[0] 是获取这个数组中,第一个元素的值,获取下标为0的元素;Integer.parseInt()方法是将一个字符串转换为int数字。任意类型+[]=相应的数组类型,任意类型可

2021-09-21 11:45:13 69

原创 Java_流程控制

if控制语句:if-else一起使用,一定是有唯一的一个执行,另一个不执行。if语句只执行条件为真的命令语句,其他语句都不会执行。switch-case分支语句:默认只支持byte、short、int、char这四种类型,用来判断值是否相等。switch(表达式)和case 常量值:{ //… }(case的大括号可以省略,或者还可以用case 常量值;表示)中的表达式和常量值都必须是整数或字符型。同一个switch语句的case常量值互不相同。for循环for(;????–>死循

2021-09-21 11:39:08 100

原创 Java_实现斐波拉契序列

例题.有一组数据:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 …特点:从第三个数开始,当前的数是前面俩个数相加之和要求1:写出一方法,给方法传一个参数,可以返回一个这样序列的数组,这个参数表示这个序列的长度:例如:test(1) 返回数组{1}test(2)返回数组{1,1}test(3)返回数组{1,1,2}test(4)返回数组{1,1,2,3}依次类推:要求2:方法内部的代码也要使用数组实现要求3:方法的声明如下所示public int[] test(

2021-09-05 13:10:52 122

原创 Java第一阶段测试答案

线程的6种状态:NEW 新建状态RUNNABLE 可运行状态BLOCKED 锁阻塞状态WAITING 无限期等待状态TIMED_WAITING 有限期等待状态TERMINATED 死亡状态元注解是什么?举例。元注解是对注解进行基本信息设置的注解。@Target用于描述注解的使用范围,比如这个注解是用在类上面还是方法上面;@Retention用于描述注解的保存策略,是保留到源代码中、Class文件中、还是加载到内存中;@Documented用于描述该注解将会被java..

2021-09-03 22:19:08 936

原创 Java第一阶段复习

1.垃圾回收:程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收仍然不确定。2.static,final,abstract,interface之间的关系:static可以修饰除构造器以外的类成员,静态的类成员是针对类的,非静态的类成员是针对对象的。final修饰的类不能被继承,final修饰的方法不能被重写,final修饰的变量值不能被更改。abstract修饰的方法是抽象方法,只有方法的声明,没

2021-09-03 21:30:45 146

原创 jdk1.8-day02 Lambda表达式练习2

1.使用Consumer接口将字符串进行反转输出。import java.util.function.Consumer;/* * @author chouhan */public class Homework1 { public static void main(String[] args) { reversal("avaj",(str)->{ String newstr=new StringBuffer(str).reverse().toString(); System.

2021-09-02 12:05:47 221

原创 JavaDay10 ==和equals,分隔符接口,统计字符串,集合--练习

1. 分析下面程序的运行结果。理解"“和equals()方法的区别:(1)”“比较的是值,基本数据类型的值,或者引用类型的值;(2)equals()方法默认方法底层也是”=="实现的,但可以重写。String str1 = "hello";String str2 = "hello";String str3 = new String("hello");String str4 = new String("hello");String str5 = "hellohello";String str

2021-09-02 01:46:55 612

原创 JavaDay19 管道流-练习,字节流和字符流的区别

1.编程实现:1.1 线程A,从控制台读取用户输入的内容,并且把内容写入到管道流中。1.2 线程B,从管道流中读取内容,并且把内容再写入到一个本地文件中。import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.io.PipedInputStream;import

2021-09-02 00:02:46 214

原创 JavaDay20 IO流-练习

1. 运用缓冲流完成文件复制//1.字节缓冲输入输出流package com.briup.day21;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileInputStream;import java.io.FileOutputStream;public class Method1 { public static void main(String[] args) t

2021-09-01 18:51:25 335

原创 JavaDay09 类加载,单例模式,接口,包装类,==和equals_练习题

1. 分析以下四个程序的输出结果//构造器、静态代码块、方法体的执行顺序public class Test { public Test() { System.out.println("构造器"); } public void info() { System.out.println("info"); } static { System.out.println("test static 1"); } public static void main(String[] args) {

2021-09-01 13:47:40 240

原创 jdk8-day01 Lambda表达式的练习1

Lambda表达式的练习:使用Lambda表达式,实现一个大集合存入20个随机数字,然后筛选其中的偶数元素,放到小集合当中,然后进行遍历输出。自定义一个函数式接口,提供方法将字符串转为数字,抽象方法toNum。声明函数式接口,接口中声明抽象方法,public String getValue(String str);声明类TestLambda,类中编写方法使用接口作为参数,将每一个字符串转换成大写,并作为方法的返回值,再将一个字符串的第2个和第4个索引位置进行截取子串。使用Predicate接口,S

2021-09-01 12:47:10 336

原创 Java_基本数据类型的值传递和引用值传递

基本数据类型的值传递和引用值传递:1.值传递,实参把自己存储的值(基本类型都是简单的数字)赋值给形参,之后形参如何操作,对形参一点影响没有。2.由于引用传递,是实参将自己存储的对象地址,赋值给了形参,这时候俩个引用(实参和形参)指向了同一个对象,那么任何一个引用(实参或形参)操作对象,例如属性赋值,那么另一个引用(形参或实参)都可以看到这个对象中属性的变量,因为俩个引用指向同一个对象。package com.briup.test;import java.util.ArrayList;impo

2021-09-01 11:00:44 182

原创 JavaDay21 tcp三次握手、tcp和udp协议的区别、交互图片的练习

1. 简述TCP的三次握手。TCP的三次握手:TCP协议中,在发送数据的准备阶段,客户端与服务器之间的三次交互,以保证连接的可靠。(1)第一次握手,客户端向服务器端发出连接请求,等待服务器确认;(2)第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求;(3)第三次握手,客户端再次向服务器端发送确认信息,确认连接。完成上述的三次握手后,客户端和服务器端的连接就已经建立了,每次连接的创建都需要经过“三次握手”的过程。2. TCP协议和UDP协议的区别。UDP(用户数据报协议):(

2021-08-31 14:25:26 142

原创 JavaDay08 重写和重载、final、abstract、static、this和super

1. 描述方法重载和重写的区别注意:方法重载是发生在同一个类中,方法重写发生在子父类之间。类中有多个方法,具有相同的方法名,但是方法的参数各不相同,这种情况被称为方法的重载。(overload)(1)方法的名字必须相同;(2)方法的参数列表必须不同:参数的类型不同;参数的个数不同;参数的顺序不同;(3)方法的修饰符、返回类型、抛出异常这些地方没有限制(可以相同,也可以不同,但一般都是相同的)如果子类和父类中出现了相同的方法,这种情况就叫做方法重写。(Override)(1)方法名

2021-08-30 09:37:49 345

原创 JavaDay07 构造器练习

1. 根据要求编写类,编写完成后使用下面的测试类去测试,要求如下:(1)写 Duration 类1.int类型属性hours、minutes、seconds2.构造器(三参),对hours、minutes、seconds进行初始化3.构造器(一参),对hours、minutes、seconds进行初始化,参数为总的seconds,例如:将x秒,转为a小时b分钟c秒,3661秒,就是1小时1分钟1秒4.对每个属性提供get方法5.getTotalSeconds()方法,用于返回总的seconds

2021-08-29 17:58:02 859 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除