
java
文章平均质量分 61
wiscourper_
这个作者很懒,什么都没留下…
展开
-
23、JDBC
一、jdbc概述1.1Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: 1)JDBC直接访问数据库 2)JDO (Java Data Object )技术 3)第三方O/R工具,如Hibernate, Mybatis 等 JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。 1.2JDBC介绍JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用原创 2021-12-09 11:40:14 · 1231 阅读 · 0 评论 -
13、IntelliJ Idea mac常用快捷键
⌫Delete ⌦向前删除键(Fn+Delete) ⇞Page Up(Fn+↑) ⇟Page Down(Fn+↓) HomeFn + ← EndFn + → ⇥右制表符(Tab键) ⇤左制表符(Shift+Tab) ⌃N生成代码(getter、setter、构造函数、hashCode/equals,toString) ⌘⌥T包围代码(使用if..else, try..catch, for, synchronized等包围选中的代码) ⌘/注释/取消注释与行注释 ⌘...原创 2021-11-23 14:29:02 · 1037 阅读 · 0 评论 -
22、java8的其它新特性
一、lambda表达式本质:作为函数式接口的实现;Lambda表达式就是一个函数式接口的实例“->” , 该操作符被称为 Lambda 操作符或箭头操作符。它将 Lambda 分为两个部分: 左侧:指定了 Lambda 表达式需要的参数列表 右侧:指定了 Lambda 体,是抽象方法的实现逻辑,也即Lambda 表达式要执行的功能。二、函数式接口1、什么事函数式接口>只包含一个抽象方法的接口,称为函数式接口。 >可以通过 Lambda 表...原创 2021-11-23 10:31:55 · 991 阅读 · 0 评论 -
21、反射
1、反射相关的主要API java.lang.Class:代表一个类 java.lang.reflect.Method:代表类的方法 java.lang.reflect.Field:代表类的成员变量 java.lang.reflect.Constructor:代表类的构造器 … …2、Class类的常用方法 方法名 ...原创 2021-11-22 15:39:42 · 870 阅读 · 0 评论 -
20、网络编程
一、网络通信协议1、InetAddress类InetAddress类没有提供公共的构造器,而是提供了如下几个静态方法来获取InetAddress实例 >public static InetAddress getLocalHost() >public static InetAddress getByName(String host) InetAddress提供了如下几个常用的方法 >public String getHo...原创 2021-11-19 09:41:32 · 857 阅读 · 0 评论 -
19、IO流
一、File类的使用>java.io.File类:文件和文件目录路径的抽象表示形式,与平台无关 >File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。 >想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。 >File对象可以作为参数传递给流的构造器常用构造器>原创 2021-11-17 14:34:01 · 1132 阅读 · 0 评论 -
18、泛型
一、泛型的概念>所谓泛型,就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时(例如,继承或实现这个接口,用这个类型声明变量、创建对象时)确定(即传入实际的类型参数,也称为类型实参)。 >从JDK1.5以后,Java引入了“参数化类型(Parameterized type)”的概念,允许我们在创建集合时再指定集合元素的类型,正如:List<String>,这表明该List只能保存字符串类型的对象。 &g原创 2021-11-15 16:20:49 · 1282 阅读 · 0 评论 -
17、Java集合
一、Java集合框架概述1、概述>一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。 >数组在内存存储方面的特点: >数组初始化以后,长度就确定了。 >数组声明的类型,就决定了进行元素初始化时的类型 >数组在存储数据方面的弊端: >数...原创 2021-11-15 10:26:23 · 732 阅读 · 0 评论 -
16、枚举类与注解
一、枚举类1、枚举类的理解>类的对象只有有限个,确定的。>当需要定义一组常量时,强烈建议使用枚举类>若枚举只有一个对象, 则可以作为一种单例模式的实现方式。2、枚举类的实现 >JDK1.5之前需要自定义枚举类 >JDK 1.5 新增的 enum 关键字用于定义枚举类 3、枚举类的属性>枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰 >枚举类的使用 private final 修饰的属性应原创 2021-11-10 17:57:07 · 1145 阅读 · 0 评论 -
15、java常用类
一、字符串相关的类1、String类1.1字符串特性1)通过字面量的方式(区别于new)给一个字符串赋值,此时的字符串值声明在字符串常量池中。 2)字符串常量池中是不会存储相同内容的字符串的。 3)String:代表不可变的字符序列。简称:不可变性。 体现:1.当对字符串重新赋值时,需要重新指定内存区域 赋值,不能使用原有的value进行赋值。 2. 当对现有的字符串进行连接操作时,也需要重...原创 2021-11-09 16:48:57 · 698 阅读 · 0 评论 -
14、多线程
1、基本概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期 >如:运行中的QQ,运行中的MP3播放器 >程序是静态的,进程是动态的 >进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 线程(thread),进程可进...原创 2021-11-06 19:56:07 · 708 阅读 · 0 评论 -
12、异常处理
1、异常概述异常:在Java语言中,将程序执行中发生的不正常情况称为“异常”。 (开发过程中的语法错误和逻辑错误不是异常) Java程序在执行过程中所发生的异常事件可分为两类: >Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError和OOM。一般不编写针对性的代码进行处理。 >Exception: 其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行...原创 2021-11-03 19:39:28 · 718 阅读 · 0 评论 -
11、包装类
import org.junit.Test;public class JUnitTest { @Test public void testExam() { Object o1 = true ? new Integer(1) : new Double(2.0); System.out.println(o1);//1.0, 因为三元运算要求两个数据类型一致,所以在编译的时候,数据类型提升了 Object o2; if(true) { o2 = new Intege...原创 2021-11-01 20:19:52 · 732 阅读 · 0 评论 -
java中的JUnit单元测试
1)选中当前工程 - 右键选择build path - add libraries - JUnit 4 - finish2)创建java类,进行单元测试此时的java类要求:此类为public;此类提供公共的无参构造器;3)在此类中声明单元测试方法要求:此方法的权限是public;没有返回值;没有形参;4)此单元测试方法上需声明注解@Test,并导入import org.junit.Test;5)声明好单元测试方法后,就可以在方法体内测试相关的代码6)写完代码后,左键双.原创 2021-11-01 19:29:33 · 754 阅读 · 0 评论 -
javabean的标准
原创 2021-10-30 11:33:43 · 674 阅读 · 0 评论 -
10、eclipse常用快捷键
* 1.补全代码的声明:alt + / * 2.快速修复: ctrl + 1 * 3.批量导包:ctrl + shift + o * 4.使用单行注释:ctrl + / * 5.使用多行注释: ctrl + shift + / * 6.取消多行注释:ctrl + shift + \ * 7.复制指定行的代码:ctrl + alt + down 或 ctrl + alt + up * 8.删除指定行的代码:ctrl + d * 9.上下移动代码:alt + up 或 alt..原创 2021-10-29 15:30:53 · 93 阅读 · 0 评论 -
9、对象。
1、内存解析2、类的成员之一:属性2.1、变量分类2.2、成员变量和局部变量的区别2.3、对象属性的默认初始化值3、类的成员之二:方法原创 2021-10-27 20:47:21 · 732 阅读 · 0 评论 -
8、数组.
一、概念 与 特点1)数组是相同数据类型的一个集合;2)是引用数据类型;3)创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首址。4)数组的长度一旦确定,就不能修改。 5)可以直接通过下标(或索引)的方式调用指定位置的元素,速度很快。二、声明与初始化dataType[] arrayName;//声明,单纯的声明数组时不能指定其长度动态初始化dataType[] arrayName = new dataType[arraySize];给数原创 2021-10-26 13:29:33 · 769 阅读 · 0 评论 -
7、运算符
一、运算符优先级二、算术运算符1、%取模结果与被模数符号一致12%5=2;-12%5=-2;12%-5=2;-12%-5=-2;2、++,--a++,a--:先返回a,然后将a的值加/减1;++a,--a:先将a的值加/减1,然后再返回a;注意:1)对于除号“/”,它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分;2)任何基本数据类型的值与字符串进行连接运算符(+)时,基本数据类型会自动转化为字符串short s = 3;.原创 2021-10-21 08:47:44 · 689 阅读 · 0 评论 -
4、java变量
1、申明和赋值2、变量分类2.1、按数据类型分类2.2、按定义位置分3、基本数据类型3.1、整型3.2、浮点型3.3字符类型3.4、基本 数据类型转化注:1、java中boolean值不能与其他数据类型运算,php中可以; 2、java中 'a' + 1 = 98,php中'a' + 1 = 1;js中‘a’ + 1 = 'a1';3.5、强制类型转化4、字符串类型5...原创 2021-10-20 08:30:50 · 649 阅读 · 0 评论 -
2、java的应用领域
原创 2021-10-18 11:16:27 · 708 阅读 · 0 评论 -
1、java技术体系平台
原创 2021-10-18 11:12:52 · 673 阅读 · 0 评论 -
mac安装maven
1、下载2、解压tar -xvf apache-maven-3.6.3-bin.tar.gz3、移动到想要安装的目录mv -f apache-maven-3.6.3 /Applications/4、配置环境变量vi ~/.bash_profile添加export PATH=$PATH:/Applications/apache-maven-3.6.3/bin保存退出5、执行刚修改的初始化文件,使之立即生效source ~/.bash_profile6、测试原创 2020-12-02 11:20:13 · 600 阅读 · 0 评论 -
java 拆箱装箱
public class Test1 { public static void main(String[] args) { int a = 3; Integer a1 = new Integer(a); Integer a2 = Integer.valueOf(a); // converting int into Integer Integer a3 = a; //autoboxing, now compiler will wr.原创 2020-11-30 15:17:02 · 628 阅读 · 0 评论 -
java strictfp
Java strictfp关键字确保在每个平台上获得相同的结果,如果在浮点变量中执行操作。 不同平台的精度可能不同,这就是为什么java编程语言提供了strictfp关键字,它用于在每个平台上获得相同的结果。 所以,现在我们就可以更好的控制浮点数据类型运算了。strictfp关键字可以应用于方法,类和接口。...原创 2020-11-30 11:38:39 · 634 阅读 · 0 评论 -
java clone
对象克隆是一种创建对象的精确副本的方法。 Object类的clone()方法用于克隆对象。java.lang.Cloneable接口必须由我们要创建其对象克隆的类实现。如果我们不实现Cloneable接口,clone()方法生成CloneNotSupportedException。clone()方法在Object类中定义。 clone()方法的语法如下:protected Object clone() throws CloneNotSupportedException为什么要使用clon.原创 2020-11-30 11:16:40 · 560 阅读 · 0 评论 -
java接口和抽象类
原创 2020-11-30 10:57:01 · 685 阅读 · 0 评论 -
java向上转型、向下转型
1、向上转型意义:当我们需要多个同父的对象调用某个方法时,通过向上转换后,则可以确定参数的统一.方便程序设计ps:向上转型时,父类只能调用父类方法或者子类覆写后的方法,而子类中的单独方法则是无法调用的.class Bike { int speedLimit = 90; void run() { System.out.println("running"); }}public class Splender extends Bike { int s原创 2020-11-30 10:05:23 · 817 阅读 · 2 评论 -
实例初始化块的规则
在创建类的实例时创建实例初始化程序块。 在父类构造函数被调用之后(即在super()构造函数调用之后)调用实例初始化块。 实例初始化程序块按它们显示的顺序排列。class A { A() { System.out.println("parent class constructor invoked"); }}class B2 extends A { B2() { super(); System.out.println("ch转载 2020-11-27 17:09:53 · 729 阅读 · 0 评论 -
java中super的用途
super可以用来引用直接父类的实例变量。 super可以用来调用直接父类方法。 super()可以用于调用直接父类构造函数。public class Test { public static void main(String[] args) { Dog dog = new Dog(); dog.accessParentProperty(); dog.accessParentMethod(); }}class Animal {原创 2020-11-27 16:59:13 · 3376 阅读 · 0 评论 -
java中传值和传址详解
对于基本数据类型,传的是值,对于引用类型传的是址。public class TestArr { public static void main(String[] args) { int[] arr = {1,2}; testarr(arr); int[] arr1 = {4,5}; swaparr(arr, arr1); for(int ele:arr) { System.out.pr.原创 2020-11-26 11:32:31 · 848 阅读 · 0 评论 -
java 数组
神明数组变量dataType[] arrayName;创建数组dataType[] arrayName = new dataType[arraySize];给数组分配空间时,必须通过指定存储元素个数来约定数组的大小。数组创建之后就不能再修改它的大小初始化int[] arr = {value1,value2,...,valueN};...原创 2020-11-26 10:24:04 · 491 阅读 · 0 评论 -
java运算符的优先级和结合方向
原创 2020-11-25 17:36:56 · 869 阅读 · 0 评论 -
java和php中switch的区别
不同点:php中表达式可以是任何求值为简单类型的表达式,可以有变量,如1+ijava中case的值都是常量表达式,不能有变量,如1+i不行其它都相同原创 2020-11-25 17:33:53 · 682 阅读 · 0 评论 -
!、&&、 ||、 ^、 &、 |
逻辑运算符!:逻辑否定,取反&&:逻辑与(有短路)||:逻辑或(有短路)^:异或,排同,相同则false,不同则true无条件布尔运算符|和||,&和&&在使用中几乎相同,只是&和|没有短路现象,也就是说他们的两个运算对象都要计算。...原创 2020-11-25 16:39:58 · 7988 阅读 · 0 评论 -
idea创建第一个maven项目
1、2、3、添加配置如果没有配置这个参数,在maven生成骨架的时候将会非常慢,有时候直接卡住。archetypeCatalog表示插件使用的archetype元数据,不加这个参数时默认为remote,local,即中央仓库archetype元数据,由于中央仓库的archetype太多了所以导致很慢,指定internal来表示仅使用内部元数据。4、创建运行配置-15、创建运行配置-26、运行运行后生成target7、编辑配置,添加tomcat.原创 2020-11-25 14:54:28 · 693 阅读 · 0 评论 -
mac下安装多版本jdk
1、查看java命令路径which java2、进入/usr/bin/java目录ls -l | grep java发现这个java只是一个当前系统生效的JDK的一个软连接,Java安装的是实际位置位于/Library/Java/JavaVirtualMachines3、切换jdk的版本/usr/libexec/java_home -v 版本号配置环境变量,添加别名,方便切换jdk1、编辑bash_profile文件,添加如下内容(注意:JDK9不是 -.原创 2020-11-18 13:47:24 · 941 阅读 · 0 评论 -
java命令行打包jar
一、制作只含有字节码文件的jar包1、只含一个.class1)准备源文件 Hello.javapublic class Hello { public static void main(String[] args) { System.out.println("hello"); }}2)javac编译,生成字节码javac Hello.java3)添加META-INF/MENIFEST.MF文件Manifest-Version: 1.0...原创 2020-11-16 16:35:29 · 866 阅读 · 0 评论 -
java访问控制修饰符
在Java中共有四个:public —— 对外部完全可见 protected —— 对本包和所有子类可见 默认(不需要修饰符)—— 对本包可见 private —— 仅对本类可见从上到下,public的开放程度最高。- 对外完全可见 对本包和所有子类可见 仅对本包可见 仅对本类可见 访问控制修饰符 Public Protected 默认(无修饰符) Private 同一包中的其它类 ✓ ✓ ✓ ✗ 同一包中的原创 2020-11-16 13:28:06 · 631 阅读 · 0 评论 -
java打包jar包
1、准备源文件MergeArray.javapackage com.w;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class MergeArray { public Object[] merge(String[] a, String[] b) { List list = new ArrayList(Arrays.asList(a)); .原创 2020-11-16 13:14:01 · 874 阅读 · 0 评论