java
文章平均质量分 58
一些有关java的爱恨情仇
南潇如梦
编程小白
展开
-
JDBC入门学习(四)之Druid连接池的使用
1.Druid连接池(重点)连接池:概述:在池中预先放入多个连接对象,当用户使用连接对象,从池子中取出;用完了回收到池子中好处:减少创建和销毁连接对象的数目,提高了性能原理:(复用机制)在集合中放入10个连接对象如果有用户使用连接对象,则从集合中获取,并删除集合中的对象如果执行完毕,调用close,回收资源(将连接对象,重新添加到集合,给另一个用户复用)Druid连接池: 是阿里巴巴提供的,公认的性能最好的一款连接池产品;其它-c3p0,dbcp使用步骤:1.导入Druid连接池的jar包原创 2022-06-19 11:33:55 · 952 阅读 · 0 评论 -
JDBC入门学习(三)之事务回滚功能的实现
事务:将转账功能的多条SQL语句放入事务中,要么都成功,则提交;要么都失败,则回滚事务如何加?在哪个层次加,为什么?service层,如果只完成一个SQL语句,则回滚;都完成了则提交;例如问题1:出现异常后,无法进行回滚原因:处理事务的连接对象和SQL操作的连接对象不是同一个解决方案:1.将事务处理的连接对象传入到dao层,共SQL操作使用–不推荐,容易造成接口污染2.通过ThreadLocal来确保service和dao层操作同一对象–推荐ThreadLocal的用法类似Map集合,通过键值对原创 2022-06-19 11:28:58 · 935 阅读 · 0 评论 -
JDBC入门学习(二)之封装工具类
配置文件的抽取在根目录自己创建一个db.propertiesORM (重点)对象关系映射:对象-实体类(不放main方法的类),关系-数据表,两者数据的转换简单地说,就是从数据表中取出数据后,存储到实体类中Dao层的抽取(重点)Dao层:数据访问层,用于做与数据库交互的事情如果不将dao层抽取,例如登录功能,所有代码都放到测试类中,使得测试类代码特别臃肿抽取后代码分离设计:main方法中做业务逻辑操作; dao层只做jdbc操作案例: Person数据表的增删改查操作3原创 2022-06-19 11:22:57 · 454 阅读 · 0 评论 -
JDBC入门学习(一)之DML操作
JDBC操作(重点)回顾之前连接数据库的方式DOS指令方式,图形化方式缺点:只能是简单地SQL语句的测试,无法在项目中操作数据库引出通过java代码方式连接数据库—JDBC概述:JDBC是一套连接数据库的标准;具体的实现是由不同的数据库提供的JDBC核心思想:JDBC操作步骤:安装5.7的数据库,驱动包选择5.X的驱动包导入驱动包:常见的异常问题:ClassNotFoundException 驱动加载失败MySQLSyntaxErrorException: 数据库或SQL语句异常原创 2022-06-19 11:12:18 · 417 阅读 · 0 评论 -
Java零基础(二十六)之Java8新特性Stream+新日期类型
1.2 Stream终止操作新的日期类2.1 日期类获取2.2 日期类的转换原创 2022-06-18 20:35:02 · 399 阅读 · 0 评论 -
Java零基础(二十四)之网络编程聊天室+反射
1.2 聊天室程序反射(重点)2.1 反射概述2.2 反射常用方法2.3 反射操作属性2.4 反射操作方法2.5 反射应用场景原创 2022-06-18 20:25:18 · 246 阅读 · 0 评论 -
Java零基础(二十三)之File+Properties+网络编程
1.File相关1.1 FileFilterFileFilter:文件过滤器listFiles方法用于将当前层的文件和目录的File对象放入数组FileFilter则是在放入过程中的过滤1.2.Properties集合Properties:Map的子类,用于存储键值对存储键值对都是字符串类型与IO流有关,可以将文件的内容加载的Properties;也可以将Properties内容存储到文件计算机网络2.1 概述什么是网络:由点(计算机)和线(网线)构造的网状结构什么是计算机网络:不原创 2022-06-18 20:10:38 · 281 阅读 · 0 评论 -
Java零基础(二十二)之字节流
对象流: ObjectOutputStream/ObjectInputStream对象流存单个对象=对象流存多个对象==1.在对象流中可以设置某些属性不参与序列化–transient,static2.读写多个对象的问题方式1:捕获异常方式2:使用集合存储细节:字节节点流可以往文件追加内容,所以,处理流,字节缓冲流,对象流都可以追加内容追加内容往往只用在存日志中(且更多的是字符流存日志-效率更高)字符流字符流: 通过一个字符一个字符读写,效率比字节流高,但只能读写文本文件抽象父类: Wr原创 2022-06-18 19:54:07 · 235 阅读 · 0 评论 -
Java零基础(二十一)之多线程高级(二)+IO流初级
1.线程安全的HashMap2.队列2.1 Queue队列接口2.1 ConcurrentLinkedQueue实现类2.3 阻塞队列2.4. 有界队列应用IO流(重点)概念:程序与文件之间存储数据的通道流的划分:按方向划分: 输入流,输出流输入流:将文件中的数据读到程序中输出流:将程序的数据写到文件中按单位划分: 字节流,字符流字节流:读写最小单位,按一个一个字节读写,效率低;读写所有文件(音频,视频,图片)字符流:按一个一个字符读写,效率高;只能读写文本文件按功能划分:节点流,原创 2022-06-07 00:13:52 · 614 阅读 · 1 评论 -
Java零基础(二十)之生产消费者模型+多线程高级
1.生产者消费者模型技术点:多线程模型,安全锁机制,等待与唤醒男人挣钱,女人花钱天经地义有钱就花,没钱限制借钱消费男人挣钱—生产者负责生产女人花钱—消费者负责消费有钱就花—我们需要准备一个仓库存钱,消费者看库存,库存有钱才能消费库存没钱—等待消费库存满了—生产者停止生产,等待消费者消费后,有库存空间才挣代码案例线程状态(阻塞)多线程高级2.1 线程池(重点)概念:可以认为是线程对象的容器,预先创建多个线程对象,然后根据这些对象可以实现复用好处:减少创建和销毁线程的数目,提升性能复原创 2022-06-06 15:30:51 · 608 阅读 · 0 评论 -
Java零基础(十九)之多线程初级
1.1 休眠方法语法: Thread.sleep(毫秒)用法: 可以用在主线程或子线程中目的: 在线程中可以复现互抢资源的现象1.2 线程优先级设置线程优先级设置:给线程设置优先级,可以大概率的确定谁先执行完; 但不是绝对的案例:创建两个子线程,分别打印1~200,并设置优先级,查看执行结果分析:创建一个线程类,new两次;其中一个设置高的优先级;一个设置低的优先级细节:1.调用设置优先级方法:setPriority2.给定线程名:1.3. 线程的礼让线程的礼让: yield设置了礼让原创 2022-06-06 15:19:34 · 502 阅读 · 0 评论 -
Java零基础(十八)之异常+多线程的创建
概述:程序的不正常执行处理异常的必要性:如果不处理,程序则会中断异常的分类:Throwable:错误与异常的父类,子类有Error,ExceptionError: 错误异常,例如硬件问题,JVM异常,程序员无法处理Exception:一般性异常,程序员能处理,包含两个子类:运行时和编译时异常运行时异常:非受检异常,运行时出现问题,直接奔溃例如:类型转换异常,下标越界,空指针异常,算数异常,输入不匹配异常,数字格式异常编译时异常:受检异常, 编译时报错,需要再一次处理1.1 运行时异常1.2原创 2022-06-06 15:05:22 · 347 阅读 · 0 评论 -
Java零基础(十七)之Treeset知识点+Map
1.Set实现类TreeSet(重点)实现排序的方式1.自然排序法------存储对象的类实现Comparable接口2.比较器法 ------带参构造方法传入比较器对象(Comparator)1.1 验证原理-存储单个属性的对象1.2 验证原理-存储多个属性的对象TreeSet存储对象为两个属性:分析:需要判断两个属性都一致则认为是同一个对象//自然排序法—存储类型实现Comparable接口1.3 比较器法2.TreeMap集合(重点)2.1 基本使用Map接口:下面的实现类都原创 2022-06-06 14:52:23 · 416 阅读 · 0 评论 -
Java零基础(十六)之Collections工具类+Set
1.Collections工具类主要是为List集合服务,进行相关的List功能处理注意: Collection与Collections要区分开扩展了解复合泛型: 所使用的T类型必须要实现Comparable原创 2022-06-06 14:39:00 · 556 阅读 · 0 评论 -
Java零基础(十五)之集合
1.集合的概念概念:对象的容器,集合中提供了常用的方法,可以实现与数组类似的存储与数组的区别:数组长度固定,集合是动态存储的数组可以存基本类型和引用类型,集合只能存引用类型集合框架介绍:1.1 Collection接口Collection: 集合的根接口包含了两个子接口: 1. List 2.Set1.2. List接口List接口,是Collection的子接口包含了两个重要的实现类: ArrayList,LinkedList其中还有一个不太常用实现类VectorList的特点:存原创 2022-06-06 14:32:38 · 403 阅读 · 0 评论 -
Java零基础(二十五)之单例设计模式+枚举+Java8新特性
好处:可读性更强,更容易复用设计模式的归类,分三大类:(23种)1.对象型模式:对象的创建方式;例如:单例,工厂模式等2.结构型模式:组织结构的包装;例如:装饰者模式(处理流),代理模式等3.行为型模式:对象的行为监听;例如:观察者模式等1.1 工厂模式(重点)1.2 单例(重点)单例:目标:每次获取到的对象都是同一个对象步骤:1.通过静态方法返回对象2.返回的对象是静态属性(静态属性只初始一份)3.属性私有化单例中的饿汉式—立即加载的模式饿汉式懒汉式懒汉式在多线程中的安全原创 2022-06-05 16:25:13 · 492 阅读 · 0 评论 -
Java零基础(十三)之内部类与常用类方法(十分重要)
Java中的常用方法总结原创 2022-06-05 16:00:19 · 415 阅读 · 0 评论 -
Java零基础(十二)之接口+内部类
1.接口1.1 接口概述接口: 特殊的抽象类,使用方式及组成部分都与抽象类类似语法: 注意: 在接口中只能定义公开的静态常量及公开的抽象方法接口与抽象类的异同:👻相同点:可以编译成字节码文件都不能具体化都可以作为引用对象(多态)都可以使用Object(祖宗类)的方法(继承)👻不同点:接口属性都是公开的静态常量接口方法都是公开的抽象方法接口没有构造方法,动态代码块,静态代码块1.2 接口代表一种能力接口直接引用实现多态🎐什么是接口:从微观上讲,接口代表着一种或//案例:喷火...原创 2022-06-05 15:44:42 · 488 阅读 · 0 评论 -
Java零基础(十一)之static和fianl关键词
1.1 静态属性成员属性案例静态属性案例实例属性 VS 静态属性实例属性: 在堆区,属于对象,通过对象调用;每个对象独有的一份静态属性: 在方法区,属于类,推荐使用类名调用;所有对象共享同一份静态属性课堂案例1.2 静态方法静态方法应用静态的应用场景1.3 动态代码块与类加载动态代码块案例静态代码块的执行动态代码块与静态代码块子类的实例化过程final(重点)final:表示最终的,可以修饰类,方法,属性修饰类:最终类(太监类),被final修饰的类不能有子类修饰原创 2022-06-05 15:32:23 · 424 阅读 · 0 评论 -
Java零基础(十)之多态+抽象类
生活中的多态:客观事物在人脑中的主观反应;也就是说对象与某个类间存在“is a”关系例如:大黄是一条狗,也是一个动物,这种关系就是多态的形成程序中的多态:父类引用指向子类对象,在程序中形成了多态用法: 可以调用父类的方法,但是不能调用子类独有的方法多态核心多态直接引用多态以传参方式出现案例: 老师开着法拉利牌自行车去上班分析:类: 老师类 自行车类对象: new new属性: 姓名 品牌方法: 开 运转升级: 老原创 2022-06-05 15:22:57 · 915 阅读 · 0 评论 -
Java零基础(九)之面向对象三大特性
继承(重点)生活中的继承:施舍方的赠与,接受方的获取程序中的继承:两个类之间满足“is a”的关系,这样的两个类,我们可以设置为继承特点:有了继承关系,子类拥有父类的属性和方法父类的选择:在生活中满足is a关系的类很多,我们需要从中选择最合适的父类例如: 狗类是动物类,也是生物类,也是物质类直接父类选择动物类—特征和行为最接近结论: 重合点越多,越接近直接父类重合点越少,越接近Object类(祖宗类)继承的应用:案例: 子类有狗类,鸟类,找出他们的特征和行为狗类:特征: [品种,原创 2022-06-05 00:20:37 · 455 阅读 · 0 评论 -
Java零基础(八)之对象那些事
1.类和对象(重点)引入:在程序的世界中一切皆为对象面向对象和面向过程思想:面向过程:关注做了什么事,而不关心是谁做的面向对象:关注谁做了这件事生活案例:面向过程:白白的皮肤,修长的腿;特能吃String color = “白色”;double height = 1.5;eat(); //吃的方法面向对象:佩奇的特征–肤白,腿长, 行为-能吃Dog peiQi = new Dog();peiQi.color = “白色”; //特征peiQi.height = 1.5;peiQi原创 2022-06-05 00:10:39 · 383 阅读 · 0 评论 -
Java零基础(七)之数组排序+二维数组
排序基础冒泡排序(重点)冒泡排序:相邻两数两两比较,大的放右边,比较完一轮后,最右边的数为最大值;以此类推共比较(长度-1)轮流程: 1.先画图分析 2.再写代码选择排序(重点)插入排序(扩展)系统提供的排序一维数组练习(斐波拉契数列)二维数组(掌握基本使用)二维数组:一维数组的一维数组,可以看成一维数组中的元素又是一个一维数组二维数组的赋值与取值二维数组的遍历二维数组的创建二维数组的练习(杨辉三角)......原创 2022-06-05 00:00:42 · 576 阅读 · 0 评论 -
Java零基础(六)之数组
1.1. 引入数组案例1案例21.2 数组的初始值与创建数组的初始值数组的创建1.3 数组练习案例1案例22. 数组扩容2.1 自定义数组扩容2.2 系统定义的数组扩容方法3.数组中的方法封装(重点)3.1 关于方法的传参传基本类型(值传递)传引用类型(地址传递)3.2 可变参数3.3 方法的返回值返回数组......原创 2022-06-05 00:01:17 · 396 阅读 · 0 评论 -
Java零基础(五)之eclipse的安装+方法定义
1.Eclipse的安装与配置1.1.安装找到eclipse.zip压缩包,拷贝到指定目录并解压即可;例如:d:\tool1.2 配置=显示项目资源与控制台===window->show view如果找不到Package Explorer,则找Other…创建工程File->new->下面选项框创建工程名创建包和java文件选择src目录右键new->找到包和类修改字体: window->preferences下设置快捷提示:window->preferences下问题: 有了eclipse,原创 2022-06-04 11:07:17 · 611 阅读 · 0 评论 -
Java零基础(四)逻辑循环常用案例
1.循环(重点)1.1 while循环while循环while案例1.2 dowhile循环dowhile循环dowhile案例1.3 for循环(最常用)for循环for循环案例死循环问题循环控制(重点)//循环控制关键字: break,continuecontinuebreak综合案例3.循环嵌套循环嵌套嵌套案例打印直角与等腰三角形...原创 2022-06-04 10:55:52 · 932 阅读 · 0 评论 -
Java零基础(三)之运算符+逻辑循环
1.运算符(重点)赋值运算符关系运算符(重点)应用场景:在后续的分支语句,循环语句中都需要用到关系运算符逻辑运算符三目运算符表达式表达式:由操作数和运算符组成的式子例如:关系运算符参与的式子—>关系表达式算数运算符参与的式子—>算数表达式自动类型的提升1.算数运算的最终结果,为操作数中最大的那个类型2.操作数中为byte和short类型,最终运算结果提升为int3.String类型和任意类型拼接(+),都为String类型控制台录入:从命令提示符中输入一个值,传给变量步骤:选择结原创 2022-06-04 10:46:49 · 471 阅读 · 0 评论 -
Java零基础(二)之变量+运算符
变量的生活案例比较:数据类型(重点)概述: 用于约束变量所存储的数值数据类型分类:基本数据类型、引用数据类型基本数据类型: 整数、小数、布尔、字符引用数据类型: 字符串,(对象和数组后面学)扩展===什么是进制?人为定义的一种进位方式;十进制就是逢十进一,二进制就是逢二进一,n进制就是逢n进一为什么需要有二进制和十进制?二进制:计算机最容易识别的进制:101010十进制:程序员最容易识别的进制整数数据类型小数类型布尔类型字符类型字符类型:存储单个字符,用’'括起来俗称小整型原创 2022-06-04 10:35:26 · 545 阅读 · 0 评论 -
Java零基础(一)之Java发展+注释+编译
1.3 Java特点2. 计算机的执行机制2.1 执行机制1先编译,再运行: 把源文件编译成平台相关的机器指令,再运行优点:效率高(一次编译,多次运行) 缺点:不可跨平台解释执行: 将java源文件通过不同平台解释器,进行解释执行优点:跨平台 缺点:效率低先编译,再解释:把源文件编译成字节码文件(.class),再通过不同系统解释执行优点:效率高与跨平台Java设计理念: 一次编译到处运行4.1 安装指定好路径,下一步…JDK安装:JRE安装:4.2 验证J原创 2022-06-04 10:05:04 · 1161 阅读 · 0 评论 -
springboot学习文档
SpringBoot学习文档首先真的特别感谢同学的分享以及老师的整理,让我成功入门了springboot的。一、介绍小结:- SpringBoot并不是一个新的开发语言- Spring Boot 简化了基于Spring的应用开发- SpringBoot简化了配置- 能很容易整合很多第三方优秀框架什么是SpringBoot/SpringBoot的特点SpringBoot并不是一个新的开发语言,SpringBoot简化了Spring的应用开发,降低了Spring的学习和使用门槛,Sprin原创 2022-03-28 00:44:49 · 1824 阅读 · 0 评论 -
基本的Java的MVC入门案例
概念:MVC:Model View Controller:模型、视图、控制器。他是一种专门设计web程序的模式高内聚、低耦合(高内聚:专人干专事;低耦合:让类与类之间的关系不能太紧密)模型(Model):是应用程序中与处理应用程序数据逻辑的部分。存数据、处理数据视图 (View):是应用程序中处理数据显示的部分。展示数据控制器(Controller):是应用程序中处理用户交互的部分。接收数据或者跳转页面在MVC设计模式基础之上进一步的提出了java web的三层架构的思想:表示层原创 2022-03-04 17:28:53 · 6580 阅读 · 0 评论