沈超琦的博客

STAY HUNGRY,STAY FOOLISH

文章

Hello World

记录生活,记录成长,记录美好 想说的有很多,但都说不出来了.贴上一段代码和一句话,希望自己不负韶华吧. public static void main(String[] args){ System.out.println("Hello World!"); } “终其一生,我们只为寻找最初失去的那个人” ——胡塞尼《群山回唱》

Java8常用Lambda表达式

1、表结构 package com.example.demo; import lombok.Data; import java.math.BigDecimal; @Data public class User { private Long id; private int age; private String name; private BigDecimal money; private String department; } 2、方法 List<User> list = this.findAll(); // 获取id的集合 其他字段获取类似 getId换成想要的字段名即可 List<Long> ids = list.stream().map(User::getId).collect(Collectors.toList()); // 返回年龄最大的用户是多少岁 注意:实体类中是int 这边是Integer接的 Integer biggestAge = list.stream().map(User::getAge).max(Integer::compare).....

JVM内存结构(基于JDK8)

根据VM规范,VM应该被划分为五块区域——即VM栈、堆、方法区、程序计数器、本地方法栈五个部分。如下图所示: 方法区(Method Area):该区域是所有线程共享的,主要用于存放类的信息,常量、静态变量、即时编译器编译后的代码等。垃圾回收器对这块区域的回收主要是针对常量池和类的卸载。 java堆(Java Heap):该区域也是所有线程共享的,用于存放对象实例,绝大多数创建的对象都会被存放到这里(除了部分由于逃逸分析而在对外分配的对象,该部分只是在方法体被引用,故被分配到了栈上)。垃圾回收器最主要针对的对象,对这部分的回收效率影响了VM的整体性能。 本地方法栈(Native Methiod Stack):该区域是每个线程锁独有的,主要用于VM的Native方法。这部分是有VM自行管理,程序员基本上不需要关系该部分。 VM栈(VM Stack):该区域也是每个线程所独有的,与本地方法栈是类似的,唯一的区别是它为VM执行Java方法服务。该区域主要维护栈针(每调用一个方法,则VM就会创建一个栈针保护当前方法的状态,并将其压入栈中,当被调用的方法完成后,在将其出栈继续执行未完成的方法),....

杂谈JVM

Jvm学习总结 序 jvm之运行时内存 jvm之对象的一生 jvm之天道的发展 jvm之大并发时代 结 序 为了防止自己学完就忘记,写此博客. jvm之运行时内存 jvm的运行时内存,是学习jvm一个不错的切入点,在此一一列出: 1.虚拟机栈: 一千个人眼中有一千个哈姆雷特,一千个线程有一千个虚拟机栈,在操作系统层面看的话,用户级线程便是分着不同的栈去执行的,既然操作系统老大哥都这样,jvm的线程肯定也是一个线程一个栈了.一个虚拟机栈中又有什么呢,看看老大哥的栈中,是一个一个的栈帧,jvm自然也是栈帧了(栈帧即方法).除了栈帧,jvm还有一个小的可以忽略的程序计数器(程序计数器记录每个线程运行的位置,方便线程的切换),操作系统拥有着tcb(ThreadControllerTable),可以记录自己运行到哪儿了,所以不需要程序计数器.因此就没有这个概念了吧.那么栈帧里面又是什么呢,这里面jvm就分的很细致了,操作数栈,局部变量表,动态链接,返回地址. 操作数栈是个啥呢?操作系统中,根据指令,将需要操作的数据放入寄存器组中,之后运算出来,运算中途的数据存入寄存器里面暂存,最后要....

JAVA中关于static的继承问题

//父类 public class Father { public static String staticString="父类中的静态变量"; public String str="父类中的非静态变量"; public static void staticMethod(){ System.out.println("父类中的静态方法"); } public void nostaticMethod() { System.out.println("父类中的非静态方法"); } } //子类 public class Son extends Father { public static String staticString="子类中的静态变量"; public String str="子类中的非静态变量"; public static void staticMethod(){ System.out.println("子类中的静态方法"); } public void nostaticMethod() { System.out.println("子类中的非静态方法"); } } //子类 p....

STAY HUNGRY,STAY FOOLISH

© 2020 沈超琦的博客

Powered by Bolo
Theme self-bolo-sakura by Mashiro
浏览 12658 文章 29 评论 5
浙ICP备18010929号

主题 | Theme