Wekri
  • Home
  • Archives
  • Categories
  • Tags

从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

使用Sonar分析代码质量

2018-08-22
sonar
#sonar

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
123456…10

Search

Hexo Fluid
豫ICP备18000218号 | police-icon 沪公网安备 31011202011685号