面试
温柔的ci
最坏的打算,最好的心态
展开
-
ID生成策略-雪花算法
大自然中找不到两朵完全相同的雪花Twitter开发组成:41位时间戳+10位机器ID+12位序号(自增),转化成长度18的长整型代码public class IdWorker{ //下面两个每个5位,加起来就是10位的工作机器id private long workerId; //工作id private long datacenterId; //数据id //12位的序列号 private long sequence; publi.原创 2021-08-16 09:19:41 · 197 阅读 · 0 评论 -
前端跨域问题
跨域指的是浏览器不能执行其它网站的脚本.它是由浏览器的同源策略导致的,是浏览器对js施加的安全限制同源策略是指协议,域名,端口都要相同,其中有一个不同都会产生跨域后台解决跨域@Configurationpublic class MyMallCorsConfiguration { @Bean public CorsWebFilter corsWebFilter(){ UrlBasedCorsConfigurationSource source =.原创 2021-08-08 22:01:28 · 73 阅读 · 0 评论 -
整机性能(CPU、内存、硬盘)变慢,诊断命令、思路
整机top命令看%CPU 、%MEM,cpu与内存的占用比load average:1min,5min,15min系统平均负载值,如果3值相加*100%超过60%,说明负载过重uptime(top精简,load average)CPUvmstat例: vmstat -n 2 3(每2s采样一次,共计采样3次)mpstat -P ALL 2查看所有CPU消耗数,每2s采样一次(idel值,即空闲率越高越好)pidstat -u | -p [进程号]用户每原创 2021-08-08 18:45:34 · 147 阅读 · 0 评论 -
垃圾收集器
1.如何查看默认的垃圾回收器java -XX:+PrintCommandLineFlags -version 最后一个参数简写英文术语展开新生代1.串行收集器:Serial收集器单线程的收集器,在进行垃圾收集时候,必须暂停其它所有的工作线程,直到它收集结束2.ParNew(并行)收集器使用多线程进行垃圾回收,在垃圾收集时,会Stop-the-World暂停其它所有工作线程直到它收集结束ParNew收集器其实是Serial收集器新生代的并行多线程版本,最常见的应用场.原创 2021-08-08 16:00:41 · 56 阅读 · 0 评论 -
OOM错误
种类解释java.lang.StackOverflowError栈内存空间溢出错误java.lang.OutOfMemoryError:Java heap space堆内存溢出java.lang.OutOfMemoryError:GC overhead limit exceededGC回收时间过长,超过98%的时间来做GC并回收了不到2%的堆内存java.lang.OutOfMemoryError:Direct buffer memory本地(联系元空间)物理(...原创 2021-08-07 17:06:35 · 150 阅读 · 0 评论 -
JVM命令、参数
命令命令作用jps -l查看当前正在执行的java进程jinfo -flag PrintGCDetails 21640命令是否生效(如:PrintGCDetails ,21640为java进程号 )jinfo -flags 21640此进程号对应所有配置参数信息(21640为java进程号)java -XX:+PrintFlagsInitial -version查看参数盘点家底(还可通过此命令给类更新JVM参数值,例:java -XX:PrintFlagsIn原创 2021-08-07 14:59:52 · 76 阅读 · 0 评论 -
java中可以作为GC Roots的对象
java中可以作为GC Roots的对象虚拟机栈(栈帧中的局部变量区,也叫做局部变量表)中引用的对象方法区中的类静态属性引用的对象方法区中常量引用的对象本地方法栈中JNI(Native方法)引用的对象翻译 2021-08-07 07:11:02 · 52 阅读 · 0 评论 -
一周java面试问题小集
1.你讲述一下自己做的最拿手的项目2.用到了哪些技术3.项目中webservice用来干嘛,为什么选用它4.是否适应出差?是否单身?5.你事先了解过我们公司是干嘛的吗?6.你关于公司有什么问题想问的吗?7.你这几个项目的周期是多久?8.公司共多少人参与这些项目?9.你为什么离开上一家公司?10.谈谈Spring的AOP与IOC11.用到了哪些前端技术?12.你有接触过哪些封装...原创 2019-05-09 19:52:25 · 214 阅读 · 0 评论 -
IO 面试题
字节流和字符流的主要区别1.字节流在操作时不会用到缓冲区(内存),是直接对文件本身进行操作的.而字符流在操作时使用到了缓冲区,通过缓冲区再操作文件2.在硬盘上的所有文件都是以字节形式存在的(图片、声音、视频),而字符只在内存中形成上面两点能说明什么呢?针对第一点:我们知道,如果一个程序频繁地对一个资源进行IO操作,效率会非常低.此时通过缓冲区,先把需要操作的数据暂时放在内存中,以后直接...原创 2019-05-01 15:52:07 · 1117 阅读 · 1 评论 -
多线程 面试题
Lock与synchronized的区别类别synchronizedLock存在层次java的关键字,在JVM层面上是一个类锁的释放1.以获取锁的现场恒执行完同步代码,释放锁.2、线程执行发生异常,jvm会让线程释放锁在finally中必须释放锁,不然容易造成线程死锁锁状态无法判断可以判断锁类型可重入 不可中断 非公平可重入 可判断 可公平...原创 2019-05-01 15:31:00 · 246 阅读 · 0 评论 -
Spring 面试题(总结)
一.AOP你所知道的AOP先谈谈OOP(面向对象编程),把实际业务中的所用到的实体属性和动作封装起来,进行更搞笑的逻辑单元划分.AOP是针对业务处理过程的切面进行提取,以获得逻辑过程中的各部分之间的低耦合隔离效果为什么用AOP1.为了方便,重复代码的编写交给框架来完成2.为了更清晰的逻辑,可以让你的业务逻辑去关注自己本身的业务,而不去想一些其他的事情,这些事情包括:安全、事务、日志等A...原创 2019-05-01 14:05:08 · 138 阅读 · 0 评论