从String和new String 看java常量池 常量池静态常量池(class文件常量池)即class文件中的常量池,类加载后被放到运行时常量池中。包含字面量,类、方法的信息。占用class文件大部分空间。使用javap命令可查看。 运行时常量池 运行时常量池(Runtime Constant Pool),是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池(Constant Pool Table) 2018-08-29 jvm #string #constant pool
类加载机制与双亲委派模型 双亲委派模型类加载器之间的层次关系,称为类加载器的双亲委派模型(Parents Delegation Model)。 工作流程如果一个类加载器收到了类的加载请求,它首先不会自己去尝试加载这个类,而是把这个请求委派给父类加载器去完成,每一个层次的类加载器都是如此,因此所有的加载请求最终都应该传送到顶层的启动类加载中,只有当父类加载器反馈自己无法完成这个加载请求(它的搜索范围中没有找到所需的类)时,子 2018-08-27 jdk #jdk
JDK命令————javap 查看class文件 今天学习一个jdk工具:javap,可以查看编译后的class字节码文件。 用法12345678910111213141516171819用法: javap <options> <classes>其中, 可能的选项包括: -help --help -? 输出此用法消息 -version 版本信息 -v -verbos 2018-08-27 jdk #jdk
jvm 字节码指令表 字节码 助记符 指令含义 0x00 nop None 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶 0x06 iconst_3 将int型3推 2018-08-27 jvm #jvm #bytecode
springcloud zuul重写/修改请求参数 本文springboot版本:2.0.2.RELEASE,springcloud版本:Finchley.RC1 项目使用zuul做api网关,需要在zuul中拦截请求,做统一的权限验证。用户传来token,zuul拦截下来解析出用户信息,添加到本次请求中,后续服务可以直接使用用户信息。 之前试过重写request不行,后来发现可以用context.setRequestQueryParams() 2018-07-18 springcloud #springcloud #zuul
springboot2中使用actuator进行监控 spring-boot-actuator模块提供了一个监控和管理生产环境的模块,可以使用http、jmx、ssh、telnet等来管理和监控应用。审计(Auditing)、 健康(health)、数据采集(metrics gathering)会自动加入到应用里面。 传送门:springboot1.x-actuatorspringboot1.x 的时候一直在使用spring的actuator 2018-07-16 #springboot
自己实现一个hashMap 数据结构数组数组是一系列元素的集合,数组的存储空间是连续的。特点是查找快,修改慢 链表链表在内存中可以是不连续的。单向链表每个节点都会指向下一个几点。特点是查找慢,修改快。 hash表结合上面两个的特点。产生了hash表。 通过hash算法计算出key在数组上的位置。达到了O(1)的时间复杂度。 但是,hash算法比较容易产生“冲突”,即即: key1!=key2,而 f (key1) 2018-06-28 java #hashMap
springboot 事务了解一下 我们在springboot中通过@Transactional注解来实现事务。可以指定回滚情况、事务隔离级别、事务传播、超时时间等。默认会回滚RuntimeException 下面我们来测试一下 12345678910111213@RunWith(SpringRunner.class)@SpringBootTestpublic class WeChatServiceTest { @A 2018-06-26 springboot #springboot #transaction
eureka点对点通信 Eureka client首先尝试与同一区域的Eureka Server通信。如果在与server通信时出现问题,或者server不在同一区域中,则client将fail over to其他区域中的服务器。 一旦Eureka server开始接收信息,本服务器上执行的所有操作都会复制到服务器知道的所有对等节点。如果某个操作由于某种原因而失败,则该信息将与下一个在服务器之间复制的心跳同步。 当Eur 2018-06-22 springcloud #springcloud #eureka