![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java_base学习
蓝瘦的Alone
就是一只小菜鸡
展开
-
java_base:数据库连接池
数据库连接池其实就是一个存放数据库连接的容器。当系统初始化后,容器会被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户使用完后,会将这些对象归还给容器。好处:1.节约资源、2.用户访问高效1.c3p0c3p0-config.xml<c3p0-config> <!-- 使用默认的配置读取连接池对象 --> <default-config> <!-- 连接参数 --> <property na原创 2020-08-26 15:47:31 · 112 阅读 · 0 评论 -
java_base:jdbc
JDBC: Java Data Base Connectivity(Java数据库连接),它是Java编程语言和广泛的数据库之间独立于数据库的连接标准的Java API1.首先导入数据库连接jar包mysql-connector-java-5.1.37-bin.jar2.建立连接方法1:public class Demo01JDBC { public static void main(String[] args) throws Exception{ Class.forNa原创 2020-08-26 11:15:19 · 91 阅读 · 0 评论 -
java_base:反射
反射:将类的各个部分封装为其他对象。好处:1.可以在程序运行中操作这些对象,2.可以解耦,提高程序可扩展性1.方法:Field[] getFields();//获取获取所有public修饰的成员变量Field[] getDeclaredFields();////获取所有成员变量Constructor getConstructor();//获取空参构造方法Constructor getConstructor(param,.....);//获取有参构造方法Constructor getDeclare原创 2020-08-25 15:07:00 · 115 阅读 · 0 评论 -
java_base:集合
1.分类Collection: LinkedList、ArrayList、Vector、SetMap: HashMap、Hashtable、TreeMap、ConcurrentHashMap2.讲解Collection:LinkedList:底层是链表,有序,增删快、查询慢,线程不安全,数据可以重复ArrayList:底层是数组,有序,增删慢、查询快,线程不安全,数据可以重复Vector:底层是数组,线程安全,数据可以重复set: 不能有重复元素, 无序Map(通过键值对进行存储数据,ke原创 2020-08-23 17:31:44 · 131 阅读 · 0 评论 -
java_base:socket编程
socket编程:主要分为客户端和服务端。服务器端先初始化Socket,然后与端口进行绑定(bind),对端口开始监听(listen),然后调用accept阻塞,最后等待客户端连接。客户端初始化一个Socket,然后连接服务器(connect)。连接成功后,客户端与服务器端建立连接。这时客户端发送数据请求,服务器端接收请求并处理请求,把回应数据发送给客户端,客户端读取数据,最后关闭连接。客户端import java.io.FileInputStream;import java.io.IOExcep原创 2020-08-23 11:13:35 · 107 阅读 · 0 评论 -
java_base:IO流
1.IO流分类字节流:输入流:FileInputStream、FilterInputStream、ObjectInputStream、StringBufferInputStream输出流:FileOutputStream、FilterOutputStream、ObjectOutputStream、StringBufferOutputStream字符流:输入流:InputStreamReader、StringReader、BufferedReader、FilterReader输出流:InputSt原创 2020-08-21 11:03:34 · 301 阅读 · 0 评论 -
java_base:线程池
构造一个新的线程所需要的系统资源开销很大。如果在程序中创建了大量的生命周期短的线程,那么需要使用线程池。线程池中有许多准备运行的线程,为线程池提供一个runnable,就会有一个线程调用run方法,当run方法退出时,这个线程不会死亡,而是退还给线程池为下一个请求提供服务1.使用线程池的好处降低了资源损耗、提高了响应速度以及线程的可管理性2.线程池的类型2.1 定长线程池newFixedThreadPoolpublic static ExecutorService newFixedThreadPo原创 2020-08-20 13:25:43 · 130 阅读 · 0 评论 -
java_base:线程
1.线程与进程的区别:进程:进程是操作系统资源分配的最小单元,一个进程可以包含多个线程。线程:线程是程序执行的最小单元。2.创建线程的三种方式:2.1 继承Thread类创建一个MyThread类继承Thread类,重写run方法public class MyThread extends Thread { @Override public void run(){ for(int i=0;i<10;i++){ System.out.pr原创 2020-08-19 11:59:48 · 102 阅读 · 0 评论 -
java_base:接口
接口:通常用interface来声明一个类实现接口需要用到关键字:implements接口的声明格式:public interface 接口名称{ //任何类型 final, static 字段 //抽象方法}写一个自己的接口DoSomething.javapublic interface DoSomething { public void work(); public void sleep(String name); public void eat(St原创 2020-08-18 09:22:02 · 301 阅读 · 0 评论 -
java_base:继承extends
继承就是子类继承父类的特征和行为继承的关键字:extends一个子类只能继承一个父类,不支持多继承可以对父类的方法进行重写提高了类之间的耦合性格式:class 父类 {} class 子类 extends 父类 {}例:Employee.javapublic class Employee { private String name; private Double salary; public Employee() { } public原创 2020-08-17 16:43:15 · 299 阅读 · 0 评论 -
java_base:自定义类使用
创建一个自定义类Student.javapublic class Student { private String name; private int age; private String gender; private int rank; public Student() { } public Student(String name, int age, String gender, int rank) { this.name原创 2020-08-17 14:54:52 · 369 阅读 · 0 评论 -
java_base: StringBuilder类
有些时候需要用较短的字符串拼接成较长的字符串,这事如果使用String类进行拼接来达到目的,这样做的话效率会比较低,因为每次拼接字符串的时候,都会构建一个新的String对象,耗时又浪费资源。而使用StringBuilder或者StringBuffer类可以轻松解决这类问题,StringBuilder类和StringBuffer类最大的区别就是:StringBuffer类是线程安全的。StringBuffer是StringBuilder的前身,它的效率有点低,容许采用多线程的方式进行操作字符串,这两个类的原创 2020-08-17 13:56:38 · 82 阅读 · 0 评论 -
java_base: String类
1.substring() 方法返回字符串的子字符串 String s = "hello word"; String p = s.substring(1); String p1 = s.substring(1,3); System.out.println(p+"\n"+p1);输出ello wordel2.trim() 方法用于删除字符串的头尾空格 String s1 = " dabfie kdiad ";原创 2020-08-17 13:13:46 · 141 阅读 · 0 评论