- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 git小记录 -commit错了分支怎么办
后来改代码直接commit到了master分支=.=马德,当时我快下班了!立🐎求助我本领高强的同事啊!有次切到master看代码,忘了切回自己的分支。
2023-05-06 11:39:18 139
原创 List用增强for循环遍历出现的小问题
问题描述用增强for循环遍历List中的元素时,如果循环体中做了删除操作报出如下异常:Exception in thread "main" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:909) at java.util.A...
2019-12-12 11:22:05 1104
原创 背包问题
0-1背包给定背包容量w,一系列物品{weight, value},每件物品只能放一件,求背包中物品价值的最大值求解方法:在前i-1个状态下的最大值/最小值的前提下,把第i个状态求出来dp[1,2…i][w]:背包重量为w时能获取到的最大价值对于第i件物品,有两种情况:(1)不放入:则前i-1件可占w的重量(2)放入:则前i-1件可占w-weight[I]的重量理清思路后我们以le...
2019-08-26 20:38:28 139
原创 mybatis传入表名为参数/拼接SQL
Context现在有8个表,都有相同的两列。需求就是选择 表&id,修改对应行的列值8个表诶,两个操作就要写16个sql,还要判断枚举值选择不同的Dao,返回不同的实体…啊,真的是太麻烦了。。show time~select查操作要简单很多,参数是表名和id我们可以用${}传入表名,statementType="STATEMENT"在预编译前把SQL拼接好<s...
2019-08-02 12:55:23 3624 1
原创 是事务啊~
两种方式在细粒度控制和易用性之间进行权衡编码式事务:精准控制事务边界声明式事务:方法级,通过使用AOP实现,通过事务属性来定义spring事务传播class ServiceA { public void methodOutter(){ //statements XXXXXX,savepoint ServiceB ss = new ServiceB();...
2019-07-30 12:34:46 147 1
原创 AOP的一些小点
aspect(切面)pointcut(切点)前置通知后置通知Bean的生命周期//augment:bean id//Object ob = ac.getBean("myBean");public Object getBean(String name) throws BeansException { //augment:, classType, ,typeCheckOnly ...
2019-07-20 16:03:48 113
原创 在9102年,终于学习了Lambda表达式
Q:你JDK用的几?A:8…(自觉不妙)Q:那讲讲8的新特性吧~Stream功能更强大的CollectionLambda表达式被表示为对象Java在作为参数传递普通方法或功能的限制?使得java拥有了函数式编程的能力?是一种没有声明的方法,没有访问修饰符、返回值和函数签名结构语法通常是:(argument)->{body}argument:可以具有零个/一个/多个...
2019-07-02 15:21:25 119
原创 跟着线程到处跑的ThreadLocal
ThreadLocal线程安全的,避免某些情况需要考虑线程安全必须同步带来的性能损失?ThreadLocal是Thread的局部变量,无法解决共享对象的更新问题,ThreadLocal对象建议使用static修饰ThreadLocalMap,key是ThreadLocal对象,Map用于存储每一个线程的变量副本,key是线程对象,value是对应线程的副本public T get() {...
2019-06-27 14:46:15 132
原创 Thread?Runnable?
刷面经的时候看到这样一个问题:继承Thread类和实现Runale接口有什么不同?看了两篇博客感觉更迷惑了,不是这样对比的吧老哥们,似乎不太对啊?总是分配给main()线程Runnable这个接口里只有一个run(),实现Runnable只是描述了期望执行的任务,它不会产生任何内在的线程能力,如果想实现线程行为,需要显式地将任务附着到线程上。class MyRunnable imple...
2019-06-22 20:07:57 121
原创 我是I/O的小笔记
同步/异步 with 阻塞/非阻塞https://juejin.im/post/5b94e2995188255c5c45d0ec总之阻塞/非阻塞描述的是调用者的状态,以烧水为例,阻塞是我在烧水的时候得一直看着它非阻塞是烧水时我可以跑去干别的,隔一段时间去看看状态就好同步/异步描述的被调用者的处理方式,烧水的被调用者就是水壶啦同步是水壶等水烧开了再通知我(调用在没有得到结果之前不返回...
2019-06-19 09:27:11 107
原创 java collection套餐(1)烩总
图图图图嗯 我尽力了各种对比List中HashMap vs Hashtablehashmaphashtable线程安全?不安全synchronized保证线程安全初始化默认长度1611怎么扩容2*n2*n+1null-key,null-value可以null-key但只允许一个;允许null-value都不行结构...
2019-06-17 20:04:06 224
原创 java collection套餐(2)hashmap
类图最常问的hashmap如何实现一个hashmap?虽然我没被问到这个问题,但看牛客上很多小伙伴被问到,我觉得说清楚hashmap的结构就可以了吧?首先有一个数组Object[],Object[i]称作桶,每个桶中存放的是hash碰撞的元素,那这些元素就以链表的形式连起来;如果一个桶中的元素太多查询复杂度O(n)太高了,所以在Java1.8后桶中元素>8就会转变成红黑树的结构,复...
2019-06-13 10:02:10 106
原创 something about 类加载器
1. 类加载器的作用通过一个类的全限定名来获取描述此类的二进制字节流我们通过代码看一下“加载”过程public static void main(String[] args){ ClassLoader myLoader = new ClassLoader() { @Override public Class<?> l...
2019-06-12 19:44:53 85
原创 三次握手灵魂三问
三次握手?前几天被问到一个问题:单向传输时延50ms,建立连接、发送一个GET请求到接收到数据需要多长时间?一开始我答的是三次握手的时间+一次请求一次响应=250ms,看面试官的反应好像不太对,让我画一下过程,我灵机一动回答200ms,勉强过关,结果二面又问了这个问题,尴尬。。来看一下书上是怎么说的~1:A向B发送连接请求,TCP规定SYN报文段(即SYN = 1的报文段)不能携带数据...
2019-04-30 10:35:38 330
原创 基本类型&包装类大总结~
记录一些易忘的基础~1. 已经有基本类型了为什么还要使用包装类呢?/* <T:我叫参数化类型呀>参数化类型是不能使用基本类型的,但总不能只使用数组吧,不能扩容啊,有很多不方便的地方,所以就会把基本类型装箱成为包装类*/List<Integer> list = new ArrayList<>();2.自动拆箱、装箱的原理自动装箱:调用包装类的va...
2019-04-29 14:20:20 111
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人