- 博客(13)
- 收藏
- 关注
原创 mybatis 批量修改
<update id="updateCodingTraceCodeBatch" parameterType="java.util.List" > <foreach item="item" index="index" collection="list" separator=","> update coding_trace_code <trim prefix="SET" suffixOverrides=","> ...
2021-12-22 15:50:42 202
原创 mysql 内连接和左连接的区别
首先是一张徒弟表follower然后是一张九阴真经修习层数表kungfu一共有四个徒弟其中傻姑是没有修习九阴真经的如果现在我们要 查询所有徒弟的编号、姓名、修习章节、总层数内连接方式SELECT f.`fid` AS '编号',f.`fname` AS '姓名',COUNT(kf.`gid`) AS '修习章节', SUM(kf.`level`) AS '总层数'FROM follower fINNER JOIN kungfu kfWHERE..
2021-12-21 11:47:14 1652
原创 group by having
查询每门课都大于90分的同学的姓名:SELECT name FROM grade GROUP BY name HAVING MIN(score)>90;查询平均分大于80的学生的姓名:SELECT name, avg(score) as sc FROMgrade GROUP BYname HAVING avg(score)>80 ;
2021-11-24 13:45:32 128
原创 git和svn
git和svn都是版本控制工具。svn是集中式版本控制系统,git是分布式版本控制系统。它们到底有什么区别呢?集中式版本控制系统就是所有人修改的都是svn服务器上的内容,而分布式版本控制系统是把服务器上的代码都clone到本地一份,开发人员修改的代码都是本地仓库的代码。集中式版本控制系统需要在联网的情况下开发,而分布式版本控制系统可以在离线模式下开发。git开发人员开发完成后可以commit到本地仓库然后push到远程仓库。由于svn是直接修改服务器上的内容,如果开发人员修改到相同的内容会出现冲
2021-11-24 13:03:21 986
原创 安装vue cli的时候报错
npm ERR! code ETIMEDOUTnpm ERR! syscall connectnpm ERR! errno ETIMEDOUTnpm ERR! network request to https://registry.npmjs.org/vue-cli failed, reason: connect ETIMEDOUT 104.16.24.35:443npm ERR! network This is a problem related to network connectivity..
2021-11-11 13:14:02 993
原创 ThreadLocal 理解
public class ThreadLocal<T>extends Object这个类提供线程局部变量。这些变量与其正常的对应方式不同,因为访问一个的每个线程(通过其get或set方法)都有自己独立初始化的变量副本。ThreadLocal实例通常是希望将状态与线程关联的类中的私有静态字段(例如,用户ID或事务ID)。例如,下面的类生成每个线程本地的唯一标识符。线程的ID在第一次调用ThreadId.get()时被分配,并在后续调用中保持不变。import java.ut...
2021-10-22 13:54:55 106
原创 HashMap源码分析
Class HashMap<K,V>参数类型K- 由该map维护的键的类型V- 映射值的类型HashMap是基于哈希表的Map接口的非同步实现,提供所有可选的映射操作,并允许使用null值和null键,不保证映射的顺序;HashMap是一个“链表散列”的数据结构,即数组和链表的结合体;它的底层就是一个数组结构,数组中的每一项又是一个链表,每当新建一个HashMap时,就会初始化一个数组;而在JDK8中引入了红黑树的部分,当存入到数组中的链表长度大于(默认)8时..
2021-10-19 16:41:48 78
原创 String、StringBuffer、StringBuilder分析
1.StringString类代表字符串。Java程序中的所有字符串文字(例如"abc")都被实现为此类的实例。字符串不变;它们的值在创建后不能被更改。2.StringBuffer线程安全,可变的字符序列。在任何时间点,它包含一些特定的字符序列,但可以通过某些方法调用来更改序列的长度和内容。StringBuffer的主要StringBuffer是append和insert方法,它们被重载以便接受任何类型的数据。3.StringBuilder一个可变的字符序列。但不...
2021-10-18 11:43:06 69
原创 Files的常用方法有哪些
Files.exists():检测文件路径是否存在。 Path path = Paths.get("E:\\ceshi.txt"); System.out.println(Files.exists(path));Files.createFile():创建文件。 try { System.out.println(Files.createFile(Paths.get("E:\\b.txt"))); } catch (IOException e
2021-10-15 15:55:43 719
原创 AIO主要API
AsynchronousServerSocketChannel 服务端Socket通道类,负责服务端Socket的创建和监听;AsynchronousSocketChannel 客户端Socket通道类,负责客户端消息读写;CompletionHandler<A,V> 消息处理回调接口,是一个负责消费异步IO操作结果的消息处理器;ByteBuffer 负责承载通信过程中需要读、写的消息。1.AsynchronousS...
2021-10-14 16:36:43 121
原创 hashCode源码分析
String的hashCode方法源码 public int hashCode() { int h = hash; if (h == 0 && value.length > 0) { char val[] = value; for (int i = 0; i < value.length; i++) { h = 31 * h + val[i];
2021-10-13 15:34:51 800
原创 java equals源码分析
public boolean equals(Object anObject) { //判断当前对象和传入对象引用是否相同,如果相同则返回true if (this == anObject) { return true; } /* 判断传入对象是否String类型,如果不是返回false如果是则 继续 */ if (anOb...
2021-10-12 16:54:37 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人