摘要:
首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 - 导航条 - 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 首页 所有文章 资讯 Web 架构 基础技术 书籍 教程 Java小组 工具资源 JVM调优总结(7):调优方法 201 阅读全文
摘要:
JVM调优工具 Jconsole,jProfile,VisualVM Jconsole : jdk自带,功能简单,但是可以在系统有一定负荷的情况下使用。对垃圾回收算法有很详细的跟踪。详细说明参考这里 JProfiler:商业软件,需要付费。功能强大。详细说明参考这里 VisualVM:JDK自带,功 阅读全文
摘要:
线程池工作队列饱和策略 Java线程池会将提交的任务先置于工作队列中,在从工作队列中获取(SynchronousQueue直接由生产者提交给工作线程)。 那么工作队列就有两种实现策略:无界队列和有界队列。 无界队列不存在饱和的问题,但是其问题是当请求持续高负载的话,任务会无脑的加入工作队列,那么很可 阅读全文
摘要:
线程池的处理流程: 线程池执行示意图: 1,首先线程池判断基本线程池是否已满(< corePoolSize ?)?没满,创建一个工作线程来执行任务。满了,则进入下个流程。 2,其次线程池判断工作队列是否已满?没满,则将新提交的任务存储在工作队列里。满了,则进入下个流程。 3,最后线程池判断整个线程池 阅读全文
摘要:
ExecutorService接口继承自Executor接口,定义了终止、提交,执行任务、跟踪任务返回结果等方法 1,execute(Runnable command):履行Ruannable类型的任务, 2,submit(task):可用来提交Callable或Runnable任务,并返回代表此任 阅读全文
摘要:
线程池实现原理详解: ThreadPoolExecutor是线程池的实现类: [java] view plain copy public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, Tim 阅读全文
摘要:
Future必要时可以通过get方法获取执行结果,该方法会阻塞直到任务返回结果 阅读全文
摘要:
1.应用程序未采用预编译的方式或使用框架提供的方式不正确,直接将客户端传递的参数拼接在SQL语句中并执行将导致SQL注入产生。 2. 采用floor()函数让MySQL报错来实现SQL注入,由此可从报错信息中直接获取管理员账号密码信息。 在SQL注入攻击中,如果应用程序返回了第一个(原始)查询得到的 阅读全文
摘要:
1、Semaphore信号量:跟锁机制存在一定的相似性,semaphore也是一种锁机制,所不同的是,reentrantLock是只允许一个线程获得锁,而信号量持有多个许可(permits),允许多个线程获得许可并执行。可以用来控制同时访问某个特定资源的操作数量,或者同时执行某个指定操作的数量。 示 阅读全文
摘要:
locks部分:包含在java.util.concurrent.locks包中,提供显式锁(互斥锁和速写锁)相关功能。 atomic部分:包含在java.util.concurrent.atomic包中,提供原子变量类相关的功能,是构建非阻塞算法的基础。 executor部分:散落在java.uti 阅读全文