出处:https://www.cnblogs.com/igubai/p/7426158.html jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有java进程pid的命令,简单实用,非常适合在linux/unix平台上简单察看当前java进程的一些简单情况。jstat1. jstat -gc pid可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。2.jstat -gccapacity pid可以...
文章目录 第六章 JSP技术6.1 比较 HTML、Servlet 和 JSP6.1.1 静态 HTML 文件6.1.2 用Servelt动态生成 HTML 文件6.1.3 用 JSP 动态生成 HTML 文档 6.2 JSP语法6.2.1 JSP指令(Directive)6.2.2 JSP 声明6.2.3 java 程序片段(Scriptlet)6.2.4 Java 表达式6.2.5 隐含对象 6.3 JSP 的生命周期6.4 请求转发6.5 包含6.5.1 静态包含6.5.2 动态包含6.5.3 混合使用动态包含和静态包含 6.6 JSP异常处理6.7 发布JSP6.8 预编译JSP6.9 PageCo...
多线程 线程 线程是独立的执行路径在程序执行时,即使自己没有创建线程,后台也会有多个线程main()称为主线程,为系统的入口,用于执行整个程序在一个进程中如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为干预的对同一份资源操作时,会存在资源抢夺问题,需要并发控制线程会带来额外的开销,如cpu的调度时间,并发控制开销每个线程在自己的工作内存交互,内存控制不当会造成...
一、List和Set以及Map 1、List , Set, Map都是接口,前两个继承至Collection接口(Collection接口下还有个Queue接口,有PriorityQueue类),Map为独立接口, (1)List下有ArrayList,Vector,LinkedList (2)Set下有HashSet,LinkedHashSet,TreeSet (2)Map下有Hashtable,LinkedHashMap,HashMap,TreeMap注意:Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList既可以实现Queue接口,也可以实现List接口.Q...
一、List和Set以及Map 1、List , Set, Map都是接口,前两个继承至Collection接口(Collection接口下还有个Queue接口,有PriorityQueue类),Map为独立接口, (1)List下有ArrayList,Vector,LinkedList (2)Set下有HashSet,LinkedHashSet,TreeSet (2)Map下有Hashtable,LinkedHashMap,HashMap,TreeMap注意:Queue接口与List、Set同一级别,都是继承了Collection接口。LinkedList既可以实现Queue接口,也可以实现List接口.Q...
在之前的线程池的介绍中我们看到了很多阻塞队列,这篇文章我们主要来说说阻塞队列的事。 阻塞队列也就是 BlockingQueue ,这个类是一个接 口,同时继承了 Queue 接口,这两个接口都是在JDK5 中加入的 。 BlockingQueue 阻塞队列是线程安全的,在我们业务中是会经常频繁使用到的,如典型的生产者消费的场景,生产者只需要向队列中添加,而消费者负责从队列中获取。如上图展示,我们生产者线程不断的put 元素到队列,而消费者从中tak...
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。 在看Java中的main()方法之前,先看一个最简单的Java应用程序HelloWorld,我将通过这个例子说明Java类中main()方法的奥秘,程序的代码如下: /**Java中的main()方法详解 *...
本篇文章给大家带来的内容是关于Java中TreeSet怎么实现?(详解),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 HashSet是基于HashMap实现的,那TreeSet会是怎么实现的呢?没错!和大家想的一样,它是基于TreeMap实现的。所以,TreeSet的源码也很简单,主要还是理解TreeMap。 TreeSet的继承关系 按照惯例,先来看TreeSet类的继承关系: public class TreeSet<E> extends AbstractSet<E> implements Navigab...
https://blog.csdn.net/s10461/article/details/53941091 泛型类,是在实例化类的时候指明泛型的具体类型;泛型方法,是在调用方法的时候指明泛型的具体类型 。 只有声明了<T>的方法才是泛型方法,泛型类中的使用了泛型的成员方法并不是泛型方法。 范型必须先声明/定义,才可以使用。
之前我们介绍了线程池的四种拒绝策略,了解了线程池参数的含义,那么今天我们来聊聊Java 中常见的几种线程池,以及在jdk7 加入的 ForkJoin 新型线程池 首先我们列出Java 中的六种线程池如下线程池名称 描述FixedThreadPool 核心线程数与最大线程数相同SingleThreadExecutor 一个线程的线程池CachedThreadPool 核心线程为0,最大线程数为Integer. MAX_VALUEScheduledThreadPool 指定核心线程数的定时线程池SingleThreadScheduledExe...
1. 前言 最近在折腾微信支付,证书还是比较烦人的,所以有必要分享一些经验,减少你在开发微信支付时的踩坑。目前微信支付的API已经发展到V3版本,采用了流行的Restful风格。今天来分享微信支付的难点——签名,虽然有很多好用的SDK但是如果你想深入了解微信支付还是需要了解一下的。 2. API证书 为了保证资金敏感数据的安全性,确保我们业务中的资金往来交易万无一失。目前微信支付第三方签发的权威的CA证书(API证书)中提供的私钥...
package cn.pg.dai;public interface ChaoImpl {public void add();public void edit();public void delete(); }package cn.pg.dai;public class Chao implements ChaoImpl {@Overridepublic void add() {// TODO 自动生成的方法存根System.out.println("zhe shi add func");}@Overridepublic void edit() {// TODO 自动生成的方法存根System.out.println("zhe shi edit func");}@Overridepublic void delete() {// TODO 自动生成的...
Java Socket详解 一、Socket通信基本示例 这种模式是基础,必须掌握,后期对Socket的优化都是在这个基础上的,也是为以后学习NIO做铺垫。 服务端监听一个端口,等待连接的到来: package com.sjk.socket.onlysend;import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;public class SocketServer {public static void main(String[] args) throws IOException {// 1.创...
一、与runnable接口对比 1 创建新类MyThread实现runnable接口2 class MyThread implements Runnable{3 @Override4 public void run() {5 6 }7 }8 新类MyThread2实现callable接口9 class MyThread2 implements Callable<Integer>{ 10 @Override 11 public Integer call() throws Exception { 12 return 200; 13 } 14 } 15 面试题:callable接口与runnable接口的区别? 16 17 答:(1)是否有返回值 18 (2)是...
为什么要学习Java对象头 学习Java对象头主要是为了解synchronized底层原理,synchronized锁升级过程,Java并发编程等。JAVA对象头 由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。 在HotSpot虚拟机中,对象在内存中存储的布局可以分为3块区域:对象头(Header),实例数据(Instance Data)和对齐填充(Padding)。 也...