06 2022 档案
摘要:JDBC01测试代码 public class Jdbc01 { public static void main(String[] args) throws SQLException { //前置工作:在项目下创建一个文件夹4 比如libs //将mysql.jar 拷贝到该目录下,点击 add a
阅读全文
摘要:1、Tomcat 1.1、安装tomcat tomcat官网:https://tomcat.apache.org/ 1.2、Tomcat启动和配置 文件夹作用: bin:启动,关闭的脚本文件 conf:配置 lib:配置的jar包 logs:日志 webapps:发存放网站的 启动,关闭Tomcat
阅读全文
摘要:JavaWeb Java Web Java的底层包是rt.jar包 1、基本概念 1.1前言 web开发: web,网页的意思。www.baidu.com 静态web html,css, 提供给所有人看的数据始终不会发生变化 动态web 淘宝,几乎所有的网站。 提供给所有人看的数据始终会发生变化,每
阅读全文
摘要:线程总结: 测试代码: //回顾总结线程的创建 public class ThreadNew { public static void main(String[] args) { new MyThread1().start(); new Thread(new MyThread2()).sta
阅读全文
摘要:线程通信 管程法测试代码: //测试:生产者消费者模型 >利用缓冲区解决:管程法 //生产者、消费者、产品、缓冲区 public class TestPC { public static void main(String[] args) { SynContainer container =
阅读全文
摘要:死锁 多个线程各自占有一些共享资源,并且互相等待其他线程占有的资源才能运行,而导致两个或者多个线程都在等待对方释放资源,都停止执行的情形,某一个同步块同时拥有"两个以上对象的锁"时,就可能会发生“死锁”的问题。 测试代码: //死锁:多个线程互相抱着对方需要的资源,然后形成僵持 public cla
阅读全文
摘要:线程同步 多个线程操作同一个资源。 并发:同一个对象被多个线程同时操作。 由于同一进程的多个线程共享同一块存储空间,带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释
阅读全文
摘要:线程的优先级 线程优先级 Java提供一个线程调度器来来监控程序中启动后进入就绪状态的所有线程,线程调度器按照优先级决定应该调度哪个线程来执行。 线程的优先级用数字表示,范围从1~10 Thread.MIN_PRIORITY=1; Thread.MAX_PRIORITY=10; Thread.NOR
阅读全文
摘要:线程状态 创建线程: 创建就进入新生状态 就绪状态: 调用start方法,线程立即进入就绪状态 运行状态: cpu调度 阻塞状态: 调用sleep,wait或同步锁进入阻塞状态 死亡状态: 线程中断或者结束,一旦进入死亡状态,就不能再次启动。 停止线程 (stop) 不建议使用jdk提供的方法停止线
阅读全文
摘要:字符流 编码问题 认识文本和文本文件 java的文本(char)是16位无符号整数,是字符的unicode编码(双字节编码) 文件是byte byte byte ...的数据序列 文本文件是文本(char)序列按照某种编码方案(utf-8,utf-16be,gbk)序列化位byte的存储结果 字符流
阅读全文
摘要:Lambda表达式 A希腊字母表中排序第十一位的字母,英语名称为Lambda 避免内部类定义过多 函数式编程的概念 为什么使用Lambda 避免内部类定义过多 可以让你的代码看起来很间洁 去掉一堆没有意义的代码,只留下核心的逻辑。 函数式接口: 任何接口,如果只包含唯一一个抽象方法,那么它就是一个函
阅读全文
摘要:模拟龟兔赛跑的测试代码: //模拟龟兔赛跑 public class Race implements Runnable { //胜利者 private static String winner; @Override public void run() { for (int i = 0; i
阅读全文
摘要:Process与Thread 说起进程,就不得不说程序 。程序是指令和数据的有序集合,其本身没有运行含义,是一个静态的概念。 进程则是执行程序的一次执行过程,它是一个动态的概念。是系统资源分配的单位。 通常在一个进程中可以包含若干个线程,当然一个进程中至少有一个线程,不然没有存在的意义。线程是CPU
阅读全文
摘要:总结 在实际的操作中,取得类的信息的操作代码,并不会经常开发。 一定要熟悉java.lang.reflect包的作用,反射机制。 如何取得属性、方法、构造器的名称,修饰符等。 1.1、有了Class对象能做什么 创建类的对象:调用Class对象的newInstance()方法 类必须要有一个无参数的
阅读全文
摘要:缓冲流 BufferedInputStream/BufferedOutputStream 这两个流类为IO提供了带缓冲区的操作,一般打开文件进行写入或读取操作时,都会加上缓冲,这种流模式提高了IO的性能 从应用程序中把输入放入文件,相当于将一缸水倒入到另一个缸子 FileOutputStream >
阅读全文
摘要:DataOutputStream/DataInputStream 对“流”功能的一个扩展,可以更加方便的读取int,long,字符等类型数据 DataOutputStream writeInt()/writeDouble()/writeUTF() 输出流 public class DosDemo {
阅读全文
摘要:1、FileOutputStream实现了向文件中写出byte数据的方法 拷贝方法 public static void copyFile(File srcFile,File destFile) throws IOException { if(!srcFile.exists()) { throw n
阅读全文
摘要:IO流(输入流、输出流) 字节流、字符流 1.字节流 inputStream、OutputStream inputStream抽象了理论应用程序读取数据的方式 OutputStream抽象了理论应用程序写出数据的方式 2.EOF = End 读到-1就读到结尾 3.输入流基本方法 int b = i
阅读全文
摘要:1、内存分析 1.1、java内存分析 Java内存分为堆、栈和方法区(特殊的堆)。 堆:可以存放new对象和数组;可以被所有的线程共享,不会存放别的对象引用。 栈:存放基本变量类型(会包含这个基本类型的具体数值);引用对象的变量(会存放这个引用在堆里面的具体地址)。 方法区:可以被所有的线程共享;
阅读全文
摘要:1、反射 1.1静态语言和动态语言 动态语言: 在运行代码时可以根据某些条件改变自身结构。比如:Object-C,C#,JavaScript,PHP,Python等。 静态语言: 运行时结构不可变的语言。比如:Java、C、C++。 Java不是动态语言,但Java可以称之为"准动态语言"。即Jav
阅读全文
摘要:RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。 RandomAccessFile支持随机访问文件,可以访问文件的任意位置 (1)java文件模型 在硬盘上的文件是byte byte byte存储的,是数据的集合 (2)打开文件 有两种模式"rw"(读写
阅读全文
摘要:1.工具类 //列出File的一些常用操作比如过滤、遍历等操作 public class FileUtils { /** * 列出指定目录下(包括其子目录)的所有文件 * @param dir * @throws IOException */ public static void listDirec
阅读全文
摘要:文件一般默认保存为ANSI编码格式。 java.io.File类用于表示文件(目录) File类只用于表示文件(目录)的信息(名称、大小等),不能用于文件内容的访问。 RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件。 RandomAccessFile支持
阅读全文
摘要:1、注解 1.1、什么是注解 什么是注解?注解是annotation,是一种应用于类、方法、参数、变量、构造器及包括声明中的特殊修饰符。是一种工具。comment仅仅是一种注释。 Annotation的作用: 不是程序本身,可以对程序作出解释。 可以被其他程序(比如编译器等)读取。 Annotati
阅读全文
摘要:1、声明式事务 1.1、回顾事务 把一组业务当成一个业务来做;要么都成功,要么都失败! 事务在项目开发中,十分的重要,涉及到数据的一致性,不能马虎! 确保完整性和一致性; 事务的ACID原则: 原子性 一致性 隔离性 多个业务可能操作同一个 资源,防止数据损坏 持久性 事务一旦提交,无论系统发生什么
阅读全文
摘要:1、整合MyBatis 步骤: 导入相关jar包 junit mybatis mysql数据库 spring相关的 aop织入 mybatis-spring【new】 编写配置文件 测试 1.1、MyBatis pom.xml <?xml version="1.0" encoding="UTF-8"
阅读全文
摘要:1、AOP 1.1、什么是AOP AOP(Aspect Oriented Programming)意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生 范型。利用
阅读全文