
学习笔记
flowral
等风来
展开
-
Semaphore原理、源码分析
static final class NonfairSync extends Sync { private static final long serialVersionUID = -2694183684443567898L; NonfairSync(int permits) { // permits等于资源数 super(permits); } // Semaphore 方法, 方便阅读, 放在此处 public void acquire() throws Interrup.原创 2022-03-09 22:44:02 · 266 阅读 · 0 评论 -
读写锁加锁流程以及源码分析
读写锁接口结构 public interface ReadWriteLock { //读锁上锁 Lock readLock(); //写锁上锁 Lock writeLock(); } 以下源码摘自ReentrantReadWriteLock 一、写锁上锁 static final class NonfairSync extends Sync { // ... 省略无关代码 // 外部类 WriteLock 方法, 方便阅读, 放在此处 public void lock()原创 2022-03-09 22:32:34 · 484 阅读 · 0 评论 -
ReentrantLock锁底层原理(加锁、解锁、可打断模式、公平锁、条件变量等源码)
一、加锁 1、lock() final void lock() { //先尝试直接加锁 if (compareAndSetState(0, 1)) //成功了就结束方法 setExclusiveOwnerThread(Thread.currentThread()); else //失败了调用acquire(1) acquire(1); } 2、acquire(1) public final void acquire(int arg) {原创 2021-11-11 16:59:56 · 784 阅读 · 0 评论 -
【AcWing算法基础】第一讲 基础算法
虽然说有常用的模板,但是更习惯自己写的。 4、高精度 4.1 高精度加法 #include<iostream> #include<vector> #include<string> using namespace std; int main() { string A,B; cin>>A>>B; vector<int> a,b,c; for(int i=A.size()-1;i>=0;i--) a.原创 2021-10-15 18:25:35 · 242 阅读 · 0 评论 -
mybatis逆向工程配置文件GeneratorMapper.xml详解及使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd"> <generatorConfiguration&g原创 2021-06-24 21:25:05 · 384 阅读 · 0 评论 -
Maven中pom文件配置解析
<?xml version="1.0" encoding="UTF-8"?> <!--Maven版本和头文件--> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o原创 2021-11-10 08:55:51 · 100 阅读 · 0 评论 -
JDBC学习笔记
1.概念:Java Database Connectivity Java数据库连接,Java语言操作数据库 *JDBC本质:其实是官方(sun公司 )定义的一套关于操作所有关系型数据库的规则,即接口。各个数据库厂商去实现这套接口,提供数据库jar包。我们可以使用这套接口(JDBC)编程,真正执行的代码时驱动jar包中的实现类。 2.入门步骤: //1.注册驱动 Class.forName("com.mysql.jdbc.Driver"); //2.获取数据库连接对象 Connection conn = D原创 2020-10-01 16:38:32 · 216 阅读 · 0 评论 -
Druid连接池的工具类
一、代码 package util; import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; import java.io.IOException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.原创 2020-09-25 21:09:56 · 385 阅读 · 0 评论 -
如何抽取JDBC工具类:JDBCUtils
目的:简化书写 分析: 1.注册驱动也抽取 2.抽取一个方法获取连接对象 需求:不想传递参数(麻烦),还得保证工具类的通用性 解决:配置文件 3.抽取一个方法释放资源 在IEDA中的分布如下:JDBCUtils即为抽取出来的工具类 jdbc.properties文件内容如下: 代码实现: package util; import java.io.FileReader; import java.io.IOException; import java.net.URL; import java.sq原创 2020-09-23 15:39:01 · 352 阅读 · 0 评论 -
【sql】sql中常见的数据类型
大纲图一、数值型1.整型2.小数二、字符型1.较短文本2.较长文本三、日期型 一、数值型 1.整型 整数类型 字节 范围 Tinyint 1 有符号:-128~127;无符号:0 ~255 Smallint 2 有符号:-32768~ 32767;无符号:0~1677215 Mediumint 3 有符号:-8388608~8388607;无符号:0 ~1677215 Int、Interger 4 非常大 Bigint 5 更加的大 特点: ①数值设定时,默认有符号 ②原创 2020-09-18 08:33:12 · 2389 阅读 · 1 评论 -
【sql】进阶1:基础查询
/* select 查询列表 from 表名; 1、查询列表可以是:表中的字段、常量值 表达式、函数 2、查询的结果是一个虚拟的表格 */ USE myemployees;#打开库 #1.查询表中的单个字段 SELECT last_name FROM employees ; #2.查询表中的多个字段 SELECT last_name, salary, email FROM employees ; #3.查询表中的所有字段 #方式一 SELECT `emplo原创 2020-09-08 21:07:51 · 124 阅读 · 0 评论