4 思不凡的人生

尚未进行身份认证

毕业于武汉理工大学,15年初从事软件开发工作,现在58任高级java工程师。希望与大家在一起互相帮助成长。

等级
TA的排名 39w+

可执行jar包META-INF文件的位置

可执行jar包 META-INF文件最好放置在与src同级目录,不然容易出问题

2018-11-02 17:46:54

可执行jar包,配置文件找不到,看这里

获取部署的路径String ProjectPath=XXX.class.getProtectionDomain().getCodeSource().getLocation().getPath();这个比其他的都好用public static String getCurrentPath(Class<?> cls) { String path = cls.getPro...

2018-09-13 18:31:51

netty使用过程中的线程

netty服务端启动时,一般开启两个eventloopgroup线程池,一个命名为boss,另一个命名为worker,boss是监听连接的线程池,负责完成连接的建立,并把每一个连接抽象为一个channel,交由worker进行后续处理。boss、worker均为io密集型线程,并且由于工作的主要时间会分开,因此都会在netty内部根据cpu核心数量自动建立2*N个线程,N为CPU核心数量。...

2018-03-16 10:29:22

关于静态代理和动态代理的个人总结

具体实现类[java] view plain copypublic class UserManagerImpl implements UserManager {        @Override      public void addUser(String userId, String userName) {          System.out.println("UserManagerImp...

2018-03-14 22:30:36

notify()与notifyAll()的区别

在使用notify()与使用notifyAll()时不必纠结:notify()方法将等待队列中的一个等待线程从等待队列中移步到同步队列中,而notifyAll()方法则将等待队列中所有的线程全部地道同步队列,被移动的线程状态由waiting变为blocked;因此一般情况下,因尽量使用notify(),以免将等待队列中的线程全部移动到阻塞队列中,过多消耗系统资源。近期总结一些有用的小知识点,比较琐...

2018-03-04 21:27:32

java公平锁与非公平锁的区别

公平锁和非公平锁在说的获取上都使用到了 volatile 关键字修饰的state字段, 这是保证多线程环境下锁的获取与否的核心。 但是当并发情况下多个线程都读取到 state == 0时,则必须用到CAS技术,一门CPU的原子锁技术,可通过CPU对共享变量加锁的形式,实现数据变更的原子操作。 volatile 和 CAS(compare and swap)的结合是并发抢占的关键。当选择公平锁时,线...

2018-03-04 21:09:42

idea入门

首先说明本文适合读者为由eclipse换idea IDE的朋友们,主要针对导入javaweb项目过程中可能会遇到的一些问题给出个人意见。以前一直使用eclipse,最近觉得特别卡,实在是该优化的都优化了(可能本人优化得不好),总之换了idea,同事给了安装包及破解jar包,安装破解后使用,第一次导入之前eclipse中的项目(没有看教程,个人习惯,先自己搞一通),阴差阳错的导入成功,tomcat部

2017-12-27 16:11:22

关于数据库分表分库的一次分享

关于数据库分表分库之前也看了不少,目前关于数据库分表分库尚没有统一的规范标准,当你真正拿到需求,需要进行分表分库时,还要具体情况具体分析。在这里主要针对我的一次实践展开说明,为读者提供一点思路。在进行分表分库策略制定之前,我们先来把需求理明白、数据量预估清楚。 需求是这样的,公司最近需要采集一些传感器数据,(至少保存三个月的历史数据,随时查询三个月内的历史数据)每个传感器每30秒上传一

2017-12-17 18:40:06
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!