摘要:
提高学习力之提高学习效率 。 首先说一个我们常听的励志故事,你见过凌晨四点的哈佛图书馆吗?曾经风靡朋友圈的故事,但实际上呢,九点之后就鲜有人迹。还有一个关于哈佛的谣言,只要努力就可以进入哈佛,但实际上呢,哈佛中大部分都是富家子弟,靠自己努力进入哈佛的贫困人群仅仅占了百分之三。以上俩个谣言并不是为了打 阅读全文
摘要:
打开 git-bash.exe 然后输入命令:git config user.name,然后回车之后就可以看到当前的提交者姓名,如下图: 然后根据自己的姓名对提交者姓名进行设置,输入命令:git config --global user.name "用户名",然后回车,结果如下图: 阅读全文
摘要:
//查看所有mysql进程 show FULL PROCESSLIST; //找到自己ip ipconfig //结束自己ip对应的所有进程 KILL 3804; 阅读全文
摘要:
mybatis 批量插入有三种,下面这种效率最好,其它的太慢 批量插入 1:批量 循环的参数 acctdefconfigs;对应是一个list void batchInsertAcctdeferconfigs(@Param("acctdefconfigs") List acctdeferconfig 阅读全文
摘要:
当使用mysql条件更新时--最先让人想到的写法 UPDATE buyer SET is_seller=1 WHERE uid IN (SELECT uid FROM seller) 此语句是错误的,会报错 You can't specify target table 'xxx' for updat 阅读全文
摘要:
Java中的泛型 1. 参数化类型:定义方法时的形参,调用方法时传递的实参 2. 常见的字母代表的参数类型 3. E 元素;k 主键 vvalue值 N 数字类型 T 通用性参数 泛型接口 1. 接口中的参数用泛型代替 2. 当使用泛型接口时许哟啊传递实际的参数类型 泛型方法同上 虚拟机如何实现泛型 阅读全文
摘要:
#####通过栈实现浏览器的前进后退 1. 思路就是利用俩个栈,分别记录前进和后退的网页 2. 具体实现,准备俩个栈A,B,当浏览器浏览三个网页时,a,b,c,栈一次压入a,b,c,当点击后退c从Az栈出栈进入B栈,点前进时,c从B出栈进入A栈 #####为什么栈可以实现上述操作呢 1. 因为他有一 阅读全文
摘要:
方法调用的底层实现 1. 一般我们写的代码都是经过编译,类加载,进入运行时数据区,一般是方法区,人关注的是方法的执行 2. jvm关注的是字节码的执行, 3. main函数是指令的起点,jvm创建main线程执行main方法,出发jvm的一些列指令,使jvm跑起来 4. 所以要了解在jvm中 方法调 阅读全文
摘要:
类的声明周期 1· 加载 2. 验证 3. 准备 4. 解析 5. 初始化 6. 使用 7. 卸载 动态绑定/晚期绑定 1. 解析的时机是不确定的,它可以在初始化之后 加载的时机 1. 通过全限定的名称来获取定义此类的二进制流 验证 1. 确保class文件的字节流包含的信息符合当前虚拟机的要求 文 阅读全文
摘要:
#####jvm的无关性 1. 平台无关性,这是建立在操作系统上的,许多虚拟机厂商提供了可以运行在不同系统上的虚拟机,实现了载入和执行字节码文件 2. 语言无关性,虚拟机不与Java绑定,之和。class文件有关,这个文件包含了虚拟机指令 3. 画个图 .java 经过javac编译器 →.clas 阅读全文
摘要:
#####数组特点: 1. 线性表,数据排成像线一样的数据结构,数据只有前后俩个方向,数组,链表,队列,栈都是线性表 2. 连续的内存空间,让它支持随机访问,根据下标随机访问的时间复杂度为o(1),随机访问的公式 3. 相同类型的数据结构 4. 随机访问公式,a[i]_address = base_ 阅读全文
摘要:
jvm三色标记: 黑:跟对象,其子对象已经扫描过 灰:对象本身被扫描过,其子对象未被扫描 白:未被扫描/垃圾对象 三色标记的问题:并发下漏标问题 cms漏标问题解决方法: 1 incrementtal update方法:既一个白色对象被一个黑色对象引用,则将黑色对象制成灰色,从而重新扫描 G1漏标问 阅读全文
摘要:
分代回收理论: 1 大部分对象都是朝生夕死 2 小部分对象可以熬过多次Gc 3 由于上诉情况,所以将容易回收的放到了新生代,难回收的放到了老年代 Gc的种类: 1 young gc 2 old gc 垃圾回收算法 1 复制算法: 1)新生代用的都是复制算法,但是利用率只有一半,所以引入了appel式 阅读全文
摘要:
1:jvm遇到new :首先判断是否别类加载器加载,然后class 加载到 jvm内存数据区 类加载 检查加载:检查这个指令参数是否可以在常量池中有对应类的符号引用,并检查是否被加载/解析/初始化 分配内存 -》指针碰撞 (适合内存规整)/ 空闲列表(适合内存不规整) 并发情况下 cas加失败重试/ 阅读全文
摘要:
jvm:一个运行在os上的微型os jvm机构图: 堆外内存 运行时数据区:线程共享区:堆: 方法区:运行时常量池: 私有线程区:程序计数器 本地方法区 虚拟机栈:栈帧:操作数栈 局部变量表 运行时jvm的动作: 1jvm向os申请内存 2jvm初始化数据区 3类加载到方法区 4执行方法,创建对象 阅读全文
摘要:
//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 // // 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? // // 注意:给定 n 是一个正整数。 // // 示例 1: // // 输入: 2 //输出: 2 //解释: 有两种方法可以爬到楼顶。 //1. 1 阶 阅读全文
摘要:
//设计实现双端队列。 //你的实现需要支持以下操作: // // // MyCircularDeque(k):构造函数,双端队列的大小为k。 // insertFront():将一个元素添加到双端队列头部。 如果操作成功返回 true。 // insertLast():将一个元素添加到双端队列尾部 阅读全文
摘要:
//给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 // // 示例 1: // // 输入: "(()" //输出: 2 //解释: 最长有效括号子串为 "()" // // // 示例 2: // // 输入: ")()())" //输出: 4 //解释: 最 阅读全文
摘要:
//给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 // // // 返回滑动窗口中的最大值。 // // // // 进阶: // // 你能在线性时间复杂度内解决此题吗? // // // 阅读全文