程序中使用的各种常量用一个类来统一管理,类似: public class AppConst { public static final String STR_1 = "String1"; public static final String STR_2 = "String2"; ...... } 然后在某些逻辑代码段里使用了这些常量.这样做可以便于管理常量,避免了大量的magic number/text,在修改常量内容时只需改这一个类就行了,但有时候会奇怪地发现,重…
1.前言 项目中都会使用常量类文件, 这些值如果需要变动需要重新提交代码,或者基于@Value注解实现动态刷新, 如果常量太多也是很麻烦; 那么 能不能有更加简便的实现方式呢? 本文讲述的方式是, 一个JAVA类对应NACOS中的一个配置文件,优先使用nacos中的配置,不配置则使用程序中的默认值; 2.正文 nacos的配置如下图所示,为了满足大多数情况,配置了 namespace命名空间和group; 新建个测试工程 cloud-sm. bootstrap.yml 中添加nacos相关配置;…
通常情况下,修改了java文件,需要重启eclipse.但是myeclipse可以不用. 其实即时编译早就有了,通过简单配置javaRebel配置,可以达到修改java文件后不重启eclipse. 注: 本人使用tomcat跑项目,因此介绍eclipse中tomcat的配置 1),下载javaRebel jar包 官网下载地址: http://www.zeroturnaround.com/javarebel/download/  (需要注册账号,貌似license只有15天) 360云盘下载地址…
在Java文件中,指向编译时static final的静态常量, 会被在运行时解析为一个局部的常量值(也就是说静态常量在编译后,成为了常量,而不是原先的代码).这对所有的基础数据类型(就像int ,float等)和java.lang.String都适用. 静态常量(即用 static final 修饰的变量)是编译时常量,当一个class文件编译完毕,它内部使用到的所有常量的具体值就已经确定了,不能想当然地以为它在运行时并连接常量管理类之后才会以引用方式使用常量. 静态常量,我们使用时一定要慎重…
final(最终)是一个修饰符1.final可以修饰类,函数,变量(成员变量,局部变量)2.被final修饰后的类不可以被其它类继承3.被final修饰后的方法(函数)不可以被重写4.被final修饰后的变量(属性)不允许被再次赋值,final在对变量进行修饰时一定要赋值,被final修饰后的变量,我们称之为常量 定义常量:final 类型 大写常量名    =    常量值常量命名规范:字母全部要大写,如果这个名字由多个单词组成,单词之间用_隔开 public class Test{ publ…
之前看过,很多会遗忘,标记一下,温故知新.(明天的我一定会感谢现在努力的自己. ) 一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.本地方法栈.堆.程序计数器,其中方法区和堆是由线程共享的数据区,其他几个是线程隔离的数据区 1.1 程序计数器 程序计数器是一块较小的内存,他可以看做是当前线程所执行的行号指示器.字节码解释器工作的时候就是通过改变这个计数器的值来选取下一条需要执行的字节码的指令,分支.循环.跳转.异常处理.线程恢复等基础功能都需要依赖这个计数器…
依据上下文环境,java的keywordfinal也存在着细微的差别,但通常指的是“这是无法改变的.”不想改变的理由由两种:一种是效率,还有一种是设计.因为两个原因相差非常远,所以关键子final可能被吴用. 接下来介绍一下使用到fianl的三中情况:数据,方法,类. final数据    很多编程语言都有某种方法,来向编译器告知一块数据是恒定不变的.有时数据的恒定不变是非常实用的,比如: 1,一个编译时恒定不变的常量 2,一个在执行时初始化,而你不希望它被改变. 对于编译期常量的这样的情况,编…
Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class interface byte short int long float double char boolean void 用于定义数据类型值的关键字 true false null 用于定义流程控制的关键字 if else switch case default while do for brea…
前言 Java中的关键字final的含义通常为"这是无法改变的".下面将介绍final用于修饰数据.方法和类的这三种情况. final数据 许多编程语言都有某种方法,来向告诉编译器这一块数据是不变的.有时候数据的恒定不变会很有用,比如编译时常量或者一个在运行时被初始化的值而你不希望改变它.对于编译期常量,编译器可以将该常量代入任何可能用到它的计算式中,也就是说,可以在编译时执行计算式,这将减轻运行时的负担.在Java中,常量必须是基本数据类型,以关键字final修饰,并且在定义的时候就…
1.jvm布局:   jdk1.6版本JVM布局分为:heap(堆),method(方法区),stack(虚拟机栈),native stack(本地方法栈),程序计数器共五大区域. 其中方法区包含运行时常量池.堆和方法区是线程共享的,虚拟机栈和本地方法栈.程序计数器是随线程而建的.   1.1.堆:储存对象信息和数组.对象信息/数组包括对象头,实例数据和对齐填充共三个区域:   1.1.1.对象头包括二/三部分内容:   一是类型指针,即对象指向它的类元数据的指针,通过这个指针来确定那个类的实例…