随笔分类 - Java 基础
摘要:个人理解:java是混合型。混合了解释型和编译型的特性。JVM在执行java字节码的时候是每次将一条字节码指令翻译成对应的机器码指令然后执行的,这看起来应该是解释型的特性,但JVM还有一个JIT编译器,它会将热点代码(当某段代码在某个时间周期内执行次数到达一个阈值的时候,即为热点代码)编译成本地机器...
阅读全文
摘要:每个运行中的线程都有一个成员contextClassLoader,用来在运行时动态地载入其它类系统默认的contextClassLoader是systemClassLoader,所以一般而言java程序在执行时可以使用JVM自带的类、$JAVA_HOME/jre/lib/ext/中的类和$CLASS...
阅读全文
摘要:java程序不是本地的可执行程序,它的执行依赖jvm,jvm运行后将 class 文件加载到jvm,然后才能在jvm内部运行。负责加载这些class的组件就是ClassLoader。JVM本身包含了一个ClassLoader称为**BootstrapClassLoader**,和JVM自身一样,**...
阅读全文
摘要:Map treeMap = new TreeMap(String.CASE_INSENSITIVE_ORDER); treeMap.putAll(params);这样treeMap所有元素是按key的升序排序的
阅读全文
摘要:public static String toHex(String str){ try { byte[] bytes = str.getBytes("GBK"); StringBuilder sb = new StringBuilder(by...
阅读全文
摘要:昨天短信服务又宕机了,jstack打出线程信息发现 所有线程池的线程都在wait,栈信息如下:at java.lang.Object.wait(Native Method) - waiting on [0x000000070754fb60] (a org.apache.commons.httpcli...
阅读全文
摘要:昨天下午公司的短信发送服务挂掉,查日志发现有些短信服务提供商的服务器time out。马上联系对方,确认服务已经恢复正常,我们立马重启服务,恢复正常。我们的短信服务是起一个线程T1从redis list去拿消息,然后创建一个发送短信的任务线程扔到线程池里执行,每一个发送短信的任务都会连接服务商的服务...
阅读全文
摘要:概念上的比较接口和抽象类的概念不一样。接口是对行为的抽象,抽象类是对根源的抽象。也就是说抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。语法上的比较1. 抽象类可以有自己的数据成员,也可以有非abstarct的成员方法,而接口只能够有静态的 不能被修改的数据成员(也就是必须是stat...
阅读全文
摘要:说起java中的时间,大家或许都很熟悉,朗朗上口的Date、Calendar、SimpleDateFormat等。但是大家对他们的认识真的很深刻吗?今天我要想大家说的是TimeZone,即时区。 经常有人发现时间不对,比如相差8个小时等等,其真实原因便是TimeZone.只有正确合理的运用Time...
阅读全文
浙公网安备 33010602011771号