能力说明:
精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。
能力说明:
熟练掌握Linux常用命令、文件及用户管理、文本处理、Vim工具使用等,熟练掌握企业IP规划、子网划分、Linux的路由、网卡、以及其他企业级网络配置技术,可进行Web服务器(Nginx),以及数据库(My SQL)的搭建、配置、应用,可根据需求编写Shell脚本,通过常用工具进行linux服务器自动化运维。
能力说明:
掌握Java开发环境下所需的MySQL高级技巧,包括索引策略、innodb和myisam存储引擎,熟悉MySQL锁机制,能熟练配置MySQL主从复制,熟练掌握日常SQL诊断和性能分析工具和策略。可对云数据库进行备份恢复与监控、安全策略的设置,并可对云数据库进行性能优化。掌握主要NOSQL数据库的应用技术。
暂时未有相关云产品技术能力~
知道的越多,不知道的越多
为什么只能保证可见性?又是怎么实现禁用指令重排?哇,原来这么简单
面试是一门艺术,技术重要,但重要的不止技术,这一路走来的心得体会都在下面了,纯手敲,希望能帮各位少走弯路~
不全是Java相关,但你都应该掌握
一个线程负责学习唱跳rap,一个线程负责学习打篮球,而这两个线程的调度是随机的,顺序由操作系统决定,我们怎么保证阿鸡 学会唱跳rap后,再学打篮球
概念:反射是Java的一种机制,让我们可以在运行时获取类的信息 作用:通过反射,我们可以在程序运行时动态创建对象,还能获取到类的所有信息,比如它的属性、构造器、方法、注解等;
以前我莫得选择,现在我想搞懂hash,搞懂算法,做大做强,再创辉煌!
作用嘛就是用来过滤非法key,避免缓存穿透(请求直接打到数据库),布隆过滤器底层用的是位数组,不仅节省空间,性能也嘎嘎猛,而且占用内存不会随着使用变大
什么?都快2022年了还有人不会线程池?
看几个关键字段,type、key、extra,不算完美,但也还行,毕竟我们这种非DBA选手,sql能力有限 顺便科普下这个执行计划,看id列,1 1 2,执行顺序是第三行 第一行 第二行,记住口诀:id不同大的先走,id相同,从上往下
其实我们现在已经知道是谁把cpu拉高了,但还不够细,只知道哪个项目出的问题远远不够,我们应该找到罪魁祸首,到底是哪个方法的多少行导致的问题,这才能让老大直呼内行
找到你项目中 .idea/workspace.xml文件 找到 < component name=“PropertiesComponent” > 在标签内部加上这句
Could not autowire. No beans of *** type found
先kill -15,等几秒钟如果进程还在,kill -2,还不行就kill -1,一般来讲-15都会成功,如果-1都杀不掉,那可能是你的代码里有毒,这时候才kill -9干它
先确认我们的ck服务正常,随便做个查询
部署clickhouse,各种配置都ok了,外网死活不通,本地就可以,奇怪 后面看了文档,默认只开启本地访问!!!
linux安装docker(复制命令就能安装成功)
要实现aop,首先你要知道你拿aop来干啥,我们今天就以记录日志来说,因为这个最常用,一般对于重要的数据库操作,我们需要记录操作人、什么时间、做了什么,关于做了什么怎么实现我们后面细讲
不一定成功,但请先试试
线程池无非就那几个参数,啥核心线程、最大线程、队列,没啥难的,有手就能学废 来,看完这篇文章还不懂的评论区留言喷我
还可以获取应用上下文,拿到端口啥的,就不演示了,如果只是想获取启动参数的话,还可以System.getProperty()
高高兴兴新建一个springboot项目准备写个demo,哟,没配置jdbc还不让我启动成功了 这是因为springboot在启动时会自动检测jdbc连接,关了就行
原理就是开很多线程,线程数量等于你要排序的元素数量,让他们按照原数组顺序输出,过程中让线程睡眠,睡的时长跟元素自身大小对应,所以越大睡的越久
公平锁并不是绝对的公平,所谓的公平是针对clh队列内外的线程而言,当持有锁线程释放锁后,队列内部线程都会被唤醒去抢夺锁,我猜测(看了很久源码没找到答案,所以是猜测)AQS是根据队列位置来唤醒,所以头部节点对应线程获取锁概率更大
find: missing argument to `-exec‘ 已解决
mybaits报错:The content of element type “resultMap“ must match “(constructor?,id*,result*,associati。。。
重启idea后无法import class,已引入的jar包也报错
首先你得看下你的页面的路径,一般放在这儿
生产者消费者是多线程很经典的一个模型 牵涉三个对象:仓库、生产者、消费者
mysql基于乐观锁原理实现的mvcc(Multi-Version Concurrency Control,多版本并发控制)
所谓执行计划就是看sql执行情况,有没有走索引啊之类的 很简单,在你的select语句前面加个EXPLAIN就行
喜欢看源码的同学可能都会发现,很多组件的作者在做死循环时,都喜欢用for( ; ; ),while(true)或者while(1)也能实现死循环,为啥大佬们都用for( ; ; )呢
linux查看java相关进程
我们是不知道系统啥时候OOM的,你不可能时刻盯着,所以一般需要在发生OOM时自动生成dump文件,方便后期排查线上问题
idea新建项目没有Spring Initializr
linux安装jdk和配置环境变量
association标签里面的column以对象的形式传过去,接收的时候把parameterType改为 其中 id 和 name 是对应你表的字段,两个 param 名字随便定义
顺便看看@JsonInclude的常用策略
mysql获取当前时间
TCP是一个全双工协议,想要断开就必须单独拆除每一条信道,4次挥手的目的是终止数据传输,并回收资源
描述: 给定一个排好序的数组arr和一个数字x,让你在数组中找到x的下标,如果没有就返回-1;
前置知识: 什么是二叉树:一个递归的树形数据结构,每个节点最多有两个子节点;二叉树一般都是二分查找树,每个节点的值大于它左子节点的值,小于它右子节点的值
前置知识: 什么是二叉树:一个递归的树形数据结构,每个节点最多有两个子节点;二叉树一般都是二分查找树,每个节点的值大于它左子节点的值,小于它右子节点的值
什么是二叉树:一个递归的树形数据结构,每个节点最多有两个子节点;二叉树一般都是二分查找树,每个节点的值大于它左子节点的值,小于它右子节点的值
先打开你想查看的接口:右键 - >Diagrams
题目,给一个整数,求它的平方根,不能使用java自带的Math.sqrt(); 说来尴尬,我都不知道平方根是啥 0.0
题目,给一个整数,求它的平方根,不能使用java自带的Math.sqrt(); 平方根就是开平方,比如4的平方根是2,100的平方根是10;
HashMap遍历所有的key和value
第一种,只统计字符出现次数,比如aabcccccaaa,压缩成a5b1c5 思路:利用hashMap键的唯一性
输入aabcccccaaa,写个算法输出a2b1c5a3
logger日志输出占位符{}