面试-java基础
1.特点: -1.平台无关性:java编译的字节码文件可以在任意JVM上运行;(跨平台) -2.面向对象:一切皆对象,使得代码易于维护和重用,包括类,对象,封装,继承,多态,抽象; -3.内存管理:有自己的垃圾回收机制; 2.JVM,JRE,JDK -1.JVM是java虚拟机,是java的运行环境,用于将字节码解释或编译为机器码,执行程序; -2.JRE是java运行时环境包含了JVM和一组java类库,用于支持java程序的运行,不包含开发者工具; -3.JDK是java开发工具包,包含了JVM,编译器,调试器等开发者工具,还有一系列java类库,提供了全套开发环境; 3.java的解释和编译 -1.Java是编译器和解释器混合的模式,依赖javac,JVM内置解释器和JIT编译器 -2.Java代码经javac静态编译后生成字节码文件,进入JVM -3.JVM启动初期,解释器会逐行解释字节码,启动快,适合短时间运行的代码,JIT编译器(即时编译器)运行时识别热点代码,那些频繁执行的代码块,将其编译成机器码并缓存进Code Cache,提升执行效率; ...
面试-java集合
...
springboot工程中接收前端参数的规则
1.@requestparam,@requestvariable,@requestbody: -1.当前端发送的请求最后是类似于 id?1 ;使用@requestparam -2.当前端发送的请求最后是类似于 /{id} ;使用@requestvariable -3.当请求参数是对象时,使用@requestbody;
创建vue项目
1.进行安装node.js,vue-cli等一系列准备工作;2.桌面创建文件夹,输入cmd,进入命令行,输入vue ui3.点击创建,再点击创建下面的创建新项目;4.输入项目名,包管理器选择npm,不进行版本管理的话就取消勾选git选项;5.预设选择手动,功能加上router(路由),其他功能默认的即可;6.选择vue的版本2.x; select…选择第一个error prevention only7.创建项目,不保存预设模板; 至此就创建完成可以关闭ui界面8.最后vscode新建窗口,打开桌面创建的文件夹即可 9.运行项目:下方npm脚本中选择第一个运行
JVM
1.垃圾回收不涉及栈内存,因为栈帧进栈后,方法调用完后,会弹出栈,直到主方法也弹出栈,最后栈就成空的了,所以不用垃圾回收来管理栈内存,垃圾回收主要是回收堆内存中的无用对象; 2.栈的内存并不是越大越好,栈内存越大,意味着线程就越少,因为物理内存大小是一定的,可以通过启动参数-Xss (size)来指定大小; 3.方法内的局部变量的安全,要看局部变量是普通局部变量,还是共享的变量,因为每个线程都有属于自己的栈,每个线程执行时,普通变量都会初始化然后进入栈;但是如果变量前加了static修饰,变成了共享的变量,就可能出现线程安全问题; 4.如果方法内的局部变量没有逃离方法的作用范围,它就是线程安全的;如果局部变量引用了对象,并逃离了方法的作用方法,需要考虑线程安全问题; 5.栈内存溢出(StackOverFlow): -1.栈帧过多,导致的内存溢出:例如,使用了递归方法但并没有设置好出口,就会导致栈帧过多; -2.栈帧过大; 6.JSON对象转换; -1.Jackson: // 依赖 // <dependency> // ...
rocketmq
1.下载安装;https://developer.aliyun.com/article/1479156 RocketMQ 使用笔记 (Markdown 版本)2. 简单测试(bin 目录)2.1 发送消息(Producer)1tools.cmd org.apache.rocketmq.example.quickstart.Producer 2.2 接收消息(Consumer)1tools.cmd org.apache.rocketmq.example.quickstart.Consumer 3. QuickStart(普通 Maven 项目)3.1 导入依赖12345<dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>5.1.4</version></dependency> 3.2...
caffeine
1.基础用法: 导入依赖: <dependency> <groupId>com.github.ben-manes.caffeine</groupId> <artifactId>caffeine</artifactId> <version>2.9.3</version> </dependency> 使用: @Test public void testCaffeine(){ Cache<String, String> cache = Caffeine.newBuilder().build(); //存入数据 cache.put("name","zhangsan"); //获取数据 String name =...
caffeine
1.eureka: 创建eureka项目父子工程pom文件分别是什么样的: 父工程 pom.xml(打包方式:pom) <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> ...
vue
1.快速入门: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>vueTest1</title> <script src="../js/vue.js"></script> </head> <body> <div id="app"> <input type="text" v-model="message"> {{message}} </div> </body> <script> new Vue({ el: "#app", data:...