![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习笔记
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 · 220 阅读 · 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 · 421 阅读 · 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 · 735 阅读 · 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 · 203 阅读 · 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 · 349 阅读 · 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 · 81 阅读 · 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 · 184 阅读 · 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 · 337 阅读 · 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 · 319 阅读 · 0 评论 -
【sql】sql中常见的数据类型
大纲图一、数值型1.整型2.小数二、字符型1.较短文本2.较长文本三、日期型一、数值型1.整型整数类型字节范围Tinyint1有符号:-128~127;无符号:0 ~255Smallint2有符号:-32768~ 32767;无符号:0~1677215Mediumint3有符号:-8388608~8388607;无符号:0 ~1677215Int、Interger4非常大Bigint5更加的大特点:①数值设定时,默认有符号②原创 2020-09-18 08:33:12 · 2241 阅读 · 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 · 98 阅读 · 0 评论