![](https://img-blog.csdnimg.cn/20210713150931972.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
java
一些Java有关的知识
少季池鱼
沧海一猿,学习路上
展开
-
三种获得class对象方法
java代码在计算机分为三个阶段源代码阶段,类对象阶段和运行阶段,而在不同的阶段可用不同的方法来获取class对象下面就介绍在不同阶段用的不同方法package reflect;import hj.linshi.Caclulator;//三种获得class对象方法public class getclass { public static void main(String[] args) throws ClassNotFoundException { //一源代码阶段为Java代原创 2021-01-13 17:58:52 · 338 阅读 · 1 评论 -
JDBC5大常用对象简单介绍及其用法
/*JDBC:java database connectivity//用Java连接数据库JDBC是定义了一套操作所有关系型数据库的规则(接口),而各个关系型数据库(像MySQL)里定义了不同的JDBC实现类(也称数据库驱动jar包)来操作数据库,我们可以使用这套接口来实现编程,但是真正执行的代码是再驱动jar包中的实现类/JDBC5大常用对象/*1.DriverManager数据库管理对象2.Connection数据库连接对象可以获取执行sql语句的对象(用createStateme原创 2021-01-24 21:27:00 · 905 阅读 · 0 评论 -
注解的使用方法及其介绍
注解(Annotation),也叫元数据(Metadata),是Java5的新特性,JDK5引入了Metadata很容易的就能够调用Annotations。注解与类、接口、枚举在同一个层次,并可以应用于包、类型、构造方法、方法、成员变量、参数、本地变量的声明中,用来对这些元素进行说明注释。注意:注释是给程序员看的而注解是个计算机看的package zj;/***注解里的抽象方法可以看作接口的一个属性属性的返回值只能为八大基本数据类型,String类型,枚举类类型,注解类型,数组类型如果定义了属原创 2021-01-14 20:37:26 · 785 阅读 · 0 评论 -
Stream流转换成集合和数组
Stream流是自jdk1.8起才有的一个抽象类,属于管道流,即为流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。其中有一些和集合,数组相关的方法下面来示范Stream流的静态方法of和stream()(创建流),filter()方法(转换流)count(),foreach方法(这二者可称为终结方法)import java.util.*;import java.util.stream.Stream;//stream流属于管道流,且只能使用一次,使用完后该流回自动关闭,原创 2021-01-12 09:10:32 · 3460 阅读 · 0 评论 -
lamda的延迟执行
来讲讲lamda的延迟执行以优化日志为案例首先lambda有延迟加载的特点,并且必须有一个函数式接口下面代码示例import static hj.sc.sx;public class lambda {public static void main(String[] args) {String s1 = “我”;String s2 = “不”;String s3 = “认识你”;若传的日志等级为2,则不进行拼接字符串sx(1,()->{return s1+s2+s3;});若传原创 2021-01-11 07:22:25 · 172 阅读 · 0 评论 -
用jdbc管理事务
用jdbc管理简单的事务,改代码已经用自己定义的工具类简化了package hj.jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;/** * jdbc管理事务 */public class day5 { public static void main(String[] args) { Connection getconnec原创 2021-01-28 21:25:45 · 59 阅读 · 0 评论 -
注解与反射的结合案例
上上篇博文我们讲到通过反射构建一个具有一定类似框架功能,但是那个案列需要配置配置文件,但如果用注解把配置文件替代的话,可以更加优化代码。首先先定义一个简单的注解,拥有常用的Target和Retention注解(当然其实 这里只要@Target就行了)简单的注解de@Target({ElementType.METHOD,ElementType.TYPE)//表示作用在类,方法@Retention(RetentionPolicy.RUNTIME)//能够保留到class字节码文件中,能被jvm读取pu原创 2021-01-15 21:12:46 · 147 阅读 · 0 评论 -
用jdbctemplate对象来简单操作数据库
/*** spring jdbc是spring框架对jdbc的简单封装,提供了一个jdbctemplate对象简化jdbc开发* 其中有简单的方法来简化jdbc开发* update()执行DML语句(即增删改查操作)* queryForMap()查询结果并将查询结果封装成Map集合,* 将列名作为键,将数据作为值,并将这条记录封装成Map集合* 查询的结果集长度只能是1(即一条记录)* queryForList()查询结果并将查询结果封装成List集合* 将每一条记录封装成Map集合,最后将原创 2021-01-28 21:49:13 · 118 阅读 · 0 评论 -
数据库连接池实现技术:c3p0以及druid技术
数据库连接池:存放数据库连接的容器当系统初始化后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完后,连接对象会放回容器用接口datasource(javax.sql包下)获取连接:用其中的getconnection()归还连接:若连接对象时从连接池中获取的,则该连接对象调用close方法时不会关闭连接,而是归还连接数据库连接池实现技术:c3p0(比较老),druid(阿里的,高效)下面是c3p0技术的实现并获取数据库连接对象package.原创 2021-01-28 21:41:54 · 188 阅读 · 2 评论 -
通过反射获取成员变量,成员方法,构造方法,类名
反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的那么我们现在来讲讲反射获取成员变量,成员方法,构造方法,类的一些方法获取成员变量field[] getfields()获取所有public权限的成员变量field getfield(String name)获取指定成员变量名field[] getDeclaredfields()获取所有所有成员变量field getDeclaredfield(String name)获取指定成员变量名获取成员方法原创 2021-01-13 18:06:23 · 289 阅读 · 0 评论 -
反射应用案例
反射可以说是Java中最强大的技术了,它可以做的事情太多太多,很多优秀的开源框架都是通过反射完成的那么我们现在来讲讲反射的应用—构建具有一定类似框架功能,以此来看看反射的优越性首先创建一个properties文件,例如我的叫da.properties(也称为配置文件)(注意创建的properties文件要放在该项目的src文件直属目录下,不能放在对应包下,否者会报错),再在该配置文件中写下简单的键值对例如classname=fzjcdt.bfgmethod=dd键无所谓,值的话,看你要进行的操作原创 2021-01-14 20:20:11 · 165 阅读 · 2 评论 -
简单的JDBC工具类
对于jdbc的许多操作例如数据库连接和关闭,重复度太多,为了简化代码,可简单的写 JDBC的工具类,对于数据库连接操作,为提高使用的拓展性,可通过使用配置文件来优化简单的配置文件如下url=jdbc:mysql://localhost:3306/ss ?serverTimezone=UTCuser=rootpassword=123456Diver=com.mysql.cj.jdbc.Driverjdbc工具类package hj.jdbc;import java.io.FileRe原创 2021-01-24 21:43:17 · 105 阅读 · 0 评论 -
用statement对数据库表进行简单的增删改
public class jdbc1 { public static void main(String[] args) { Connection con = null; Statement statement = null; ResultSet resultSet=null; try { Class.forName("com.mysql.cj.jdbc.Driver"); /** 注册驱动获取数据库驱动的class对象(从原创 2021-01-24 21:32:32 · 262 阅读 · 0 评论