07 2018 档案

摘要:首先这些@Configuration类没有被程序中的类引用到 其次即使引用到这个类,不一定引用到类中的具体某个方法。 查看一下spring类加载器的原码?? 虽然这些地方import失败了, 但是不影响.class类加载, 也就是说编译这些@Configuration类时依赖的jar是必须存在的,但 阅读全文
posted @ 2018-07-31 17:19 funny_coding 阅读(3618) 评论(0) 推荐(0) 编辑
摘要:shade插件的作用: 通过版本的exclution无法解决jar冲突的问题, 解决方案是把依赖的包打到本model的jar中,打包的时候由mvn plugin自动修改代码中的依赖jar包名 relocation配置会强制修改代码中的依赖包名 ==> 示例配置: 阅读全文
posted @ 2018-07-31 11:53 funny_coding 阅读(1261) 评论(0) 推荐(0) 编辑
摘要:1. 一个类实现多个接口 如下图中的JobService.java, 此时这个beanName=jobService, 没有包名,类名字首字母小写 可以使用下面三种方式获得这个bean 但是不能使用加包名的方式 Object bean1 = applicationContext.getBean("c 阅读全文
posted @ 2018-07-30 21:14 funny_coding 阅读(453) 评论(0) 推荐(0) 编辑
摘要:java.lang.Thread.State InterruptedException抛出之后,线程的状态为什么还是false? 阅读全文
posted @ 2018-07-28 19:25 funny_coding 阅读(138) 评论(0) 推荐(0) 编辑
摘要:maven helper 方便查询冲突, 比maven dependency:tree -vbose方便很多, 而且有搜索框 grep console 控制台打印显示不同Level的颜色 restfultoolkit 根据部分uri直接跳转到接口定义的地方 https://plugins.jetbr 阅读全文
posted @ 2018-07-27 16:49 funny_coding 阅读(177) 评论(0) 推荐(0) 编辑
摘要:给项目增加jdk , 方便查看不同版本的jdk源码 鼠标滚轮放大缩小字体 wheel zoom 设置JVM参数 https://www.jetbrains.com/help/idea/tuning-the-ide.html 不要修改默认的配置文件,而是在%user.home%下创建自己的启动配置文件 阅读全文
posted @ 2018-07-25 10:02 funny_coding 阅读(177) 评论(0) 推荐(0) 编辑
摘要:http://www.importnew.com/29023.html 在调用过程中, 线程栈中传递的值是原值的copy或者原对象的引用copy, 取决于参数的类型(基本类型还是复杂对象) 对于基本类型和String , 传值, 不会改变堆中原来的值 对于其他对象, 数组, 传的值是复制出来的引用, 阅读全文
posted @ 2018-07-23 11:52 funny_coding 阅读(361) 评论(0) 推荐(0) 编辑
摘要:Servlet的init方法到底是在什么时候调用的? j2ee specification和java doc中有以下说明 如果load-on-startup设置为>=0, 部署的时候就会调用。 如果多个servlet的load-on-startup设置的值一样,由容器自己确定这几个servlet的初 阅读全文
posted @ 2018-07-22 20:36 funny_coding 阅读(728) 评论(0) 推荐(0) 编辑
摘要:Object.wait 中JDK提供的doc文档 一个对象的monitor只能被一个线程占用,wait()方法会释放这个对象的锁, 既然要释放 就先要取得这个锁, 取得对象锁的方式只有synchronized()。释放锁之后, 线程进入BLOCK状态 doc文档中说明调用wait的时机是因为运行条件 阅读全文
posted @ 2018-07-21 11:21 funny_coding 阅读(1580) 评论(0) 推荐(0) 编辑
摘要:catalina.home 一台机器通常只有一个, 指向Tomcat的安装目录 catalina.base 一台机器可以启动多个Context, 每个Context对应一个catalina.base, 每个WebApp对应一个Context 1. 在webApps目录下的war, 会自动创建Cont 阅读全文
posted @ 2018-07-20 22:53 funny_coding 阅读(501) 评论(0) 推荐(0) 编辑
摘要:使用spring boot , MockBean @RunWith(SpringRunner.class) @SpringBootTest(classes = Application.class) public class DalListTest { @MockBean private XxxSer 阅读全文
posted @ 2018-07-20 13:46 funny_coding 阅读(2005) 评论(0) 推荐(0) 编辑
摘要:ConcurrentHashMap 1.7 segment分段锁 1.8 CAS 红黑树 阅读全文
posted @ 2018-07-19 18:23 funny_coding 阅读(97) 评论(0) 推荐(0) 编辑
摘要:多次start ?? IlleageStateException 阅读全文
posted @ 2018-07-19 18:18 funny_coding 阅读(84) 评论(0) 推荐(0) 编辑
摘要:hashCode 计算每个char值,并移位累加 计算后的hash值会缓存 阅读全文
posted @ 2018-07-19 18:14 funny_coding 阅读(101) 评论(0) 推荐(0) 编辑
摘要:定位流程 先使用一些轻便的工具查看总体情况, 如果情况糟糕, 再使用重量级的工具 jstack 查看线程数是否过多 jstat -gc -gcutil 查看gc次数和时间是否过多, 各个分区中堆的实际大小。 FULL gc过多会造成STOP WORLD, 应用响应停顿。 考虑使用其他垃圾收集方式, 阅读全文
posted @ 2018-07-18 17:24 funny_coding 阅读(186) 评论(0) 推荐(0) 编辑
摘要:docker run 时使用-m指定可以使用的内存大小, 记录在cgroup配置文件中 cat /sys/fs/cgroup/memory/memory.limit_in_bytes jvm内存会超过这个限制吗? 阅读全文
posted @ 2018-07-18 11:22 funny_coding 阅读(101) 评论(0) 推荐(0) 编辑
摘要:读性能有问题, 可以使用读写分离 写性能有问题, 可以使用数据分片 单机数据库 分布式数据库 https://developer.aliyun.com/lesson_1761_14684#_14684 参数 : 缓冲区大小, 临时表大小... 阅读全文
posted @ 2018-07-18 09:38 funny_coding 阅读(103) 评论(0) 推荐(0) 编辑
摘要:Files工具包下包含创建临时文件, 文件copy, move等API 阅读全文
posted @ 2018-07-16 11:26 funny_coding 阅读(118) 评论(0) 推荐(0) 编辑
摘要:iptables 默认5个表, 不可增加其他表 1 raw 用于配置数据包,raw 中的数据包不会被系统跟踪。 2 filter 是用于存放所有与防火墙相关操作的默认表。 3 nat 用于 网络地址转换(例如:端口转发)。 4 mangle 用于对特定数据包的修改(参考 损坏数据包) 5 secur 阅读全文
posted @ 2018-07-13 11:49 funny_coding 阅读(2331) 评论(0) 推荐(0) 编辑
摘要:通过服务熔断实现服务降级 可以独立使用,不需要绑定注册中心等其他spring cloud组件 可以用在spring mvc的controller层, 通常用在service层 fallback方法需要和当前方法的参数相同 抛出异常, 超时都会触发熔断, 但是可以配置忽略哪些异常和超时时间的大小 具体 阅读全文
posted @ 2018-07-12 17:21 funny_coding 阅读(174) 评论(0) 推荐(0) 编辑
摘要:https://blog.csdn.net/u011239989/article/details/72863333 QPS高,sql简单的场景下, 需要 1. 提高数据库的服务器性能CPU 内存等 2.使用缓存 3.读写分离 QPS低, SQL复杂, 存在慢查询 需要1. 优化sql索引, 2.读写 阅读全文
posted @ 2018-07-12 10:01 funny_coding 阅读(145) 评论(0) 推荐(0) 编辑
摘要:innoDB默认隔离级别 mysql> SELECT @@tx_isolation; + + | @@tx_isolation | + + | REPEATABLE-READ | + + 两个事务同时更新一条数据 右图第二个事务的update增加行锁(表中id有索引), 在未提交之前,左图第一个事务 阅读全文
posted @ 2018-07-11 19:34 funny_coding 阅读(161) 评论(0) 推荐(0) 编辑
摘要:使用NIO EndPoint connector线程数, 最大并发数 最大请求数 阻塞队列大小 jvm Xms Xmm maxMetaspace gc收集器 应用app逻辑优化:这个才是重点 阅读全文
posted @ 2018-07-10 21:34 funny_coding 阅读(152) 评论(0) 推荐(0) 编辑
摘要:自旋锁 线程想要获得一个对象的锁,如果没有得到,会继承占用CPU尝试获取锁, 线程不进入阻塞状态,仍然在Running 锁消除 对于局部变量,没有必要加锁, 运行时JIT进行逃逸分析会自动去掉monitorenter monitorexit. javap -v反编译看不出来 锁粗化 循环中频繁加锁释 阅读全文
posted @ 2018-07-06 13:58 funny_coding 阅读(257) 评论(0) 推荐(0) 编辑
摘要:笔试题: String strA = new String("123123");这一行中创建了几个String对象?? public class StringHeapCountTest { public static void main(String[] args) { String strA = 阅读全文
posted @ 2018-07-05 21:46 funny_coding 阅读(284) 评论(0) 推荐(0) 编辑
摘要:证书格式: ......... 阅读全文
posted @ 2018-07-04 09:57 funny_coding 阅读(533) 评论(0) 推荐(0) 编辑
摘要:整体架构图 一. 启动阶段 BootStrap的main方法加载server.xml配置文件,封装成Server,Service,Connector,Engine等java对象 Server初始化==>Service初始化==>Connector初始化==>Engine初始化==>Host初始化== 阅读全文
posted @ 2018-07-03 23:06 funny_coding 阅读(637) 评论(0) 推荐(0) 编辑
摘要:常用工具包 服务拆分 限流 降级 解耦MQ 缓存redis rpc + spring cloud 分布式事务 大数据分析 阅读全文
posted @ 2018-07-03 22:55 funny_coding 阅读(101) 评论(0) 推荐(0) 编辑
摘要:装饰器模式 代理模式 Interface中只定义最核心的业务,比如doXXX AbstractService1中定义其他扩展方法,比如prepare, afterExectute, doLog等抽象方法 AbstractService2中有很多业务和AbstractService1不同,但是核心业务 阅读全文
posted @ 2018-07-02 21:25 funny_coding 阅读(111) 评论(0) 推荐(0) 编辑
摘要:日期类型可以直接和string格式的字符串比较 select * from xxx where event_time>'2018-06-02' 可以使用索引, mysql默认会把后面的字符串转成date类型。可以使用between and select * from xxx where date(e 阅读全文
posted @ 2018-07-02 21:05 funny_coding 阅读(9932) 评论(0) 推荐(0) 编辑

build beautiful things, share happiness
点击右上角即可分享
微信分享提示