JDBC干货
JDBC是代表一组独立于任何数据库管理系统(DBMS)的API MySQL8使用时,url需要加参数:serverTimezone=UTC,否则会报错 Statement用于执行静态SQL语句,而PreparedStatement用于执行预编译的SQL语句,通常对于执行多次相似的语句更有效。 执行增、删、改,使用 int executeUpate()方法,接收执行条数。 执行查询,使用ResultSet executeQuery()方法,接收返回结果集。 12345678// Statement对象执行SQLStatement statement = conn.createStatement();int row1 = statement.executeUpdate("insert into jdbctest values (1,'张三','abc123')");// PreparedStatement对象执行SQLString sql = "insert into...
MySQL8干货
1 基本概念1 关系模型指的就是二维表格模型 2 MySQL中同一个数据库,不同的表格可以选择不同的存储引擎。 3 多对多 该关系中第一个表中的一个行可以与第二个表中的一个或多个行相关。第二个表中的一个行也可以与第一个表中的一个或多个行相关。通常两个表的多对多关系会借助第三张表,转换为两个一对多的关系。 4 删除数据库,表,都是用的drop 5 导入数据 mysql> source d:\练习脚本.sql 6 导出数据 在命令行客户端不登录mysql,使用mysqldump命令。 12mysqldump -u用戶名 -p密码 数据库名 > 脚本名.sqlmysqldump -u用戶名 -p密码 数据库名 表名 > 脚本名.sql 2 SQL语句1...
JavaSE干货
1 Java概述标识符的命名规范 1.包名:2.类名、接口名:XxxYyyZzz3.变量名、方法名::xxxYyyZzz4.常量名:XXX_YYY_ZZZ java采用unicode字符集,utf-8是unicode的一种实现方式 变量必须先声明和初始化才能使用 2 数据类型与运算符计算机底层存储的是整数的补码。 补码:正整数的补码与原码一致,负整数的补码是在反码基础上加1 位运算符的运算过程都是基于补码运算,但是看结果,我们得换成原码,再换成十进制看结果 1.整数 Byte:适用于不超过 3 位整数范围的情况。 实际范围:-128 到 127。 注意128陷阱 Short:适用于不超过 5 位整数范围的情况。 实际范围:-32,768 到 32,767。 Integer:适用于不超过 10 位整数范围的情况。 实际范围:-2,147,483,648 到 2,147,483,647。 Long:适用于不超过 19 位整数范围的情况。 实际范围:-9,223,372,036,854,775,808 到...
JDK8之后的新特性
1. JDK81.lambda 表达式的使用与函数式接口的理解1. Java8新特性:Lambda表达式1 关于Java8新特性简介Java 8 (又称为 JDK 8或JDK1.8) 是 Java 语言开发的一个主要版本。 Java 8 是oracle公司于2014年3月发布,可以看成是自Java 5 以来最具革命性的版本。Java 8为Java语言、编译器、类库、开发工具与JVM带来了大量新特性。 速度更快 代码更少(增加了新的语法:Lambda表达式 强大的 Stream API 便于并行 并行流就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。相比较串行的流,并行的流可以很大程度上提高程序的执行效率。 Java 8 中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream API 可以声明性地通过 parallel() 与 sequential()...
反射
1.反射机制-反射的理解与使用举例1. 反射(Reflection)的概念1.1 反射的出现背景使用场景:编译时根本无法预知该对象和类的真实信息 Java程序中,所有的对象都有两种类型:编译时类型和运行时类型,而很多时候对象的编译时类型和运行时类型不一致。 123Object obj = new String("hello");obj.getClass() 例如:某些变量或形参的声明类型是Object类型,但是程序却需要调用该对象运行时类型的方法,该方法不是Object中的方法,那么如何解决呢? 解决这个问题,有两种方案: 方案1:在编译和运行时都完全知道类型的具体信息,在这种情况下,我们可以直接先使用instanceof运算符进行判断,再利用强制类型转换符将其转换成运行时类型的变量即可。 方案2:编译时根本无法预知该对象和类的真实信息,程序只能依靠反射来发现该对象和类的真实信息,这就必须使用反射。获取运行时信息 1.2 反射概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在运行期间借助于Reflection...
网络编程
1.网络编程三要素与 InetAddress 类的使用1. 软件架构C/S架构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、美团app、360安全卫士等软件。 B/S架构 :全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有IE、谷歌、火狐等。 网络编程中有三个主要的问题: 问题1:如何准确地定位网络上一台或多台主机 问题2:如何定位主机上的特定的应用 问题3:找到主机后,如何可靠、高效地进行数据传输 2. 网络通信要素2.1 如何实现网络中的主机互相通信 通信双方地址 IP 端口号 一定的规则:不同的硬件、操作系统之间的通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议,即网络通信协议。 2.2 通信要素一:IP地址和域名2.2.1 IP地址IP地址:指互联网协议地址(Internet Protocol...
File类与IO流
1.File 类与 IO 流-File 类的实例化与常用方法_File1.File类的理解 file类的一个对象,代表一个文件或一个文件目录(俗称:文件夹) File类声明在java.io包下 File类中涉及到关于文件或文件目录的创建、删除、重命名、修改时间、文件大小等方法,并未涉及到写入或读取文件内容的操作。如果需要读取或写入文件内容,必须使用IO流来完成。 后续File类的对象常会作为参数传递到流的构造器中,指明读取或写入的”终点”. 2.File的实例化2.1 常用构造器File(String filePath)File(String parentPath,String childPath)File(File parentFile,String childPath) 2.2 路径的分类相对路径:相较于某个路径下,指明的路径。绝对路径:包含盘符在内的文件或文件目录的路径说明:IDEA中:如果大家开发使用JUnit中的单元测试方法测试,相对路径即为当前Module下。 如果大家使用main()测试,相对路径即为当前的Project下。 2.3...
数据结构与源码
1. 数据结构剖析1.数据的逻辑结构数据的逻辑结构指反映数据元素之间的逻辑关系,而与数据的存储无关,是独立于计算机的。 集合结构:数据结构中的元素之间除了“同属一个集合” 的相互关系外,别无其他关系。集合元素之间没有逻辑关系。 线性结构:数据结构中的元素存在一对一的相互关系。比如:排队。结构中必须存在唯一的首元素和唯一的尾元素。体现为:一维数组、链表、栈、队列 树形结构:数据结构中的元素存在一对多的相互关系。比如:家谱、文件系统、组织架构 图形结构:数据结构中的元素存在多对多的相互关系。比如:全国铁路网、地铁图 2 数据的存储结构(或物理结构) 数据的物理结构/存储结构:包括数据元素的表示和关系的表示。数据的存储结构是逻辑结构用计算机语言的实现,它依赖于计算机语言。 结构1:顺序结构 顺序结构就是使用一组连续的存储单元依次存储逻辑上相邻的各个元素。 优点: 只需要申请存放数据本身的内存空间即可,支持下标访问,也可以实现随机访问。 缺点:...
泛型
学习目标1 泛型的概念1.1 泛型的概述 泛型的介绍 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间 避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <类型1,类型2…>: 指定多种类型的格式,多种类型之间用逗号隔开.例如: <E,T> <K,V> 举例:java.lang.Comparable接口和java.util.Comparator接口,是用于对象比较大小的规范接口,这两个接口只是限定了当一个对象大于另一个对象时返回正整数,小于返回负整数,等于返回0。但是并不确定是什么类型的对象比较大小,之前的时候只能用Object类型表示,使用时既麻烦又不安全,因此JDK1.5就给它们增加了泛型。 123public interface Comparable<T>{ int compareTo(T o) ;} 123public...
集合框架
1.集合框架-数组的特点、弊端与集合框架体系介绍1.集合与数组存储数据概述:集合、数组都是对多个数据进行存储操作的结构,简称Java容器。说明:此时的存储,主要指的是内存层面的存储,不涉及到持久化的存储(.txt,.jpg,.avi,数据库中) 2.数组存储的特点:一旦初始化以后,其长度就确定了。数组一旦定义好,其元素的类型也就确定了。我们也就只能操作指定类型的数据了。比如 1String[] arr;int[] arr1;Object[] arr2; 3.数组存储的弊端:1 一旦初始化以后,其长度就不可修改。2 数组中提供的方法非常限,对于添加、删除、插入数据等操作,非常不便,同时效率不高。3 获取数组中实际元素的个数的需求,数组没有现成的属性或方法可用4 数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。4.集合存储的优点:解决数组存储数据方面的弊端。 5.概览|—-Collection接口:单列集合,用来存储一个一个的对象 |—-List接口:存储有序的、可重复的数据。 –>“动态”数组 ...





