随笔分类 - JavaSE
摘要:马踏棋盘 1.算法优化的意义 算法是程序的灵魂,为什么有些程序可以在海量数据计算时,依旧保持高速计算? 编程中算法很多,比如八大排序算法(冒泡、选择、插入、快排、归并、希尔、基数、堆排序)、查找算法、分治算法、动态规划算法、KMP算法、贪心算法、普利姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算
阅读全文
摘要:正则表达式03 5.6正则表达式三个常用类 java.util.regex 包主要包括以下三个类:Pattern类、Matcher类和PatternSyntaxException类 Pattern类 Pattern对象是一个正则表达式对象。Pattern类没有公共构造方法,要创建一个Pattern对
阅读全文
摘要:正则表达式02 5.4正则表达式语法02 5.4.6捕获分组 详见5.3.3 例子 package li.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; //演示分组 public class RegEx
阅读全文
摘要:正则表达式01 5.1正则表达式的作用 正则表达式的便利 在一篇文章中,想要提取相应的字符,比如提取文章中的所有英文单词,提取文章中的所有数字等。 传统方法是:使用遍历的方式,对文本中的每一个字符进行ASCII码的对比,如果ASCII码处于英文字符的范围,就将其截取下来,再看后面是否有连续的字符,将
阅读全文
摘要:JDBC和连接池05 11.BasicDAO 先来分析一个问题 前面我们使用了Apache-DBUtils和Druid简化了JDBC开发,但仍存在以下不足: SQL语句是固定的,不能通过参数传入,通用性不好,需要进行改进,来更方便执行增删改查 对于select操作,如果有返回值,返回类型还不确定,应
阅读全文
摘要:JDBC和连接池04-2 10.数据库连接池 10.5Apache-DBUtils 10.5.1resultSet问题 先分析一个问题 在之前的程序中,执行sql语句后返回的结果集存在如下问题: 关闭connection后,resultSet结果集无法使用 如果要使用结果集,就不能关闭连接,不能关闭
阅读全文
摘要:JDBC和连接池04 10.数据库连接池 10.1传统连接弊端分析 传统获取Connection问题分析 传统的 JDBC 数据库连接使用DriverManager来获取,每次向数据库建立连接的时候都要将Connection加载到内存中,再验证IP地址,用户名和密码(约0.05s~1s时间)。需要数
阅读全文
摘要:JDBC和连接池03 8.事务 8.1事务介绍 基本介绍 JDBC程序中当一个Connection对象创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如果执行成功,就会向数据库自动提交,而不能回滚。 JDBC程序中为了让多个SQL语句作为一个整体执行,需要使用事务 调用Connectio
阅读全文
摘要:JDBC和连接池02 3.ResultSet[结果集] 基本介绍 表示数据库结果集的数据表,通常通过执行查询数据库的语句生成 ResultSet对象保持一个光标指向其当前的数据行,最初,光标位于第一行的之前 next方法将光标移动到下一行,并且由于在ResultSet对象中没有更多行时返回false
阅读全文
摘要:JDBC和连接池01 1.JDBC概述 基本介绍 JDBC为访问不同的数据库提供了同一的接口,为使用者屏蔽了细节问题 Java程序员使用JDBC,可以连接任何提供了jdbc驱动程序的数据库系统,从而完成对数据库的各种操作 jdbc原理图 JDBC是java提供的一套用于数据库操作的接口API,Jav
阅读全文
摘要:Java反射03 3.通过反射获取类的结构信息 3.1java.lang.Class类 getName:获取全类名 getSimpleName:获取简单类名 getFields:获取所有public修饰的属性,包含本类以及父类的 getDeclaredFields:获取本类中所有属性 getMeth
阅读全文
摘要:Java反射02 2.Class类 2.1基本介绍 Class类也是类,因此也继承Object类 Class类对象不是new出来的,而是系统创建的 对于某个类的Class类对象,在内存中只有一份,因为类只加载一次 每个类的实例都会记得自己是由哪个Class实例所生成 通过Class对象可以得到一个类
阅读全文
摘要:Java反射01 1.反射(reflection)机制 1.1反射机制问题 一个需求引出反射 请看下面问题: 根据配置文件 re.properties 指定信息,创建Cat对象并调用方法hi classfullpath=li.reflection.Cat method=hi 使用现有的技术,你能做的
阅读全文
摘要:Java网络编程03 5.UDP网络通信编程[了解] 5.1基本介绍 类DatagramSocket 和 DatagramPacket[数据报/数据包]实现了基于 UDP的协议网络程序 UDP数据报通过数据报套接字DatagramSocket 发送和接收,系统不保证UDP数据报一定能够安全的送到目的
阅读全文
摘要:Java网络编程02 4.TCP网络通信编程 基本介绍 基于客户端--服务端的网络通信 底层使用的是TCP/IP协议 应用场景举例:客户端发送数据,服务端接收并显示控制台 基于Scoket的TCP编程 4.1应用案例 4.1.1应用案例1:(使用字节流) 编写一个服务器端,和一个客户端 服务器端在9
阅读全文
摘要:Java网络编程01 1.网络相关的概念 1.1网络通信和网络 网络通信 概念:两台设备之间通过网络实现数据传输 网络通信:将数据通过网络从一台设备传输到另一台设备 java.net包下提供了一系列的类和接口,供程序员使用,完成网络通信 网络 概念:两台或多台设备通过一定物理设备连接起来构成了网络
阅读全文
摘要:JavaIO流05 4.常用的类04 4.4节点流和处理流03 4.4.8打印流-PrintStream和PrintWriter 打印流只有输出流,没有输入流 1.简单介绍及应用 PrintStream是字节打印流 例子1:演示PrintStream(字节打印流/输出流) package li.io
阅读全文
摘要:JavaIO流04 4.常用的类03 4.4节点流和处理流02 4.4.5对象处理流-ObjectInputStream和ObjectOutputStream 1.序列化和反序列化 例子1: 看一个需求 将int num= 100这个int 类型的数据保存到文件中,注意不是100 数字,而是int
阅读全文
摘要:JavaIO流03 4.常用的类02 4.4节点流和处理流 4.4.1基本介绍 节点流可以从一个特定的数据源读写数据,如FileReader、FileWriter 数据源就是存放数据的地方,比如文件、数组、字符串、管道等 处理流(也叫包装流)是“连接”在已经存在的流(节点流或者处理流)之上,为程序提
阅读全文
摘要:JavaOI流02 4.常用的类 4.1文件字节流输入流-FileInputStream InputStream抽象类是所有类字节输入流的超类 InputStream常用的子类: FileInputStream:文件字节输入流 BufferedInputStream:缓冲字节输入流 ObjectIn
阅读全文