面试题
Forest24
keep learning...
展开
-
Bean的生命周期
Bean的完整生命周期经历了各种方法调用,这些方法可以划分为以下几类:生命周期简单说明:原创 2023-03-20 21:36:21 · 241 阅读 · 0 评论 -
什么是JMM
先全局描述: 在处理指令时,CPU会拉取数据,优先级是从L1到L2到L3,如果都没有,需要去主内存中拉取,JMM就是在CPU和主内存之间,来协调,保证可见、有序性等操作。缓存是CPU的缓存,CPU的缓存分为L1(线程独享),L2(内核独享),L3(多核共享)JMM就是Java内存模型的核心,可见性,有序性都基于这实现。CPU核心,就是CPU核心(寄存器)主内存JVM,就是你堆内存。原创 2023-03-20 20:43:32 · 127 阅读 · 0 评论 -
关于java对象的一些问题
1.对象的创建过程1.class loading2.class linking(Verification(验证),Preparation(准备),Resolution(解析))3.clsaaInitializing4.申请对象内存5.成员变量赋默认值6.调用构造方法(init) 1.成员变量顺序赋初始值 2.执行构造方法语句2.对象在内存中的存储布...原创 2019-11-17 16:00:46 · 208 阅读 · 0 评论 -
SpringMVC 执行流程
1.客户端请求被DispatcherServlet(前端控制器)接收2.DispatcherServlet请求HandlerMapping查询Handler3.HandlerMapping根据请求URL查找Handler,将Handler和HandlerInterceptor以HandlerExecutionChain的形式一并返回给DispatcherServlet4.Dispatche...原创 2019-10-31 11:25:09 · 133 阅读 · 0 评论 -
输出100以内的质数并求和
public static void main(String[] args) { int total = 0; for(int i = 0;i < 100;i++) { for(int j = 2;j < 100;j++) { if(i % j == 0 & i != j) { ...原创 2019-10-24 17:19:41 · 2092 阅读 · 0 评论 -
使用并发容器解决卖火车票问题
package com.example.demo;import java.util.Queue;import java.util.concurrent.ConcurrentLinkedDeque;public class TicketSeller { static Queue<String> tickets = new ConcurrentLinkedDeque&l...原创 2019-04-21 10:51:40 · 212 阅读 · 0 评论 -
写一个固定容量的同步容器,拥有put方法和get方法,以及getCount方法,能够支持2个生产者线程以及10个消费者线程的阻塞调用。
package com.example.demo.test;import java.util.LinkedList;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.uti...原创 2019-04-19 16:43:16 · 619 阅读 · 0 评论 -
实现一个容器,提供两个方法add,size。写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数为5的时候,线程2给出提示并退出,线程1继续执行。
关键:容器使用volatile关键字修饰。方法一:使用wait(),notify()实现。package com.example.demo;import java.util.ArrayList;import java.util.List;import java.util.concurrent.TimeUnit;public class Container { //v...原创 2019-04-17 17:07:31 · 783 阅读 · 1 评论 -
两个线程交替打印1~26和a~z
方法1:lock +Conditionpackage com.example.springboot.demo.juc;import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java....原创 2019-09-26 10:55:17 · 615 阅读 · 0 评论 -
List集合去除重复对象
1.如果是List<String>,List<Long>这种,可直接使用JDK1.8新特性stream的distinct方法 List<String> list = Arrays.asList("a", "b", "c", "a","a", "b"); List<String> newList = list.str...原创 2019-09-26 14:30:55 · 697 阅读 · 0 评论 -
java数组去重
1.通过List public static void main(String[] args) { int[] arr = {1,13,24,11,11,14,1,2}; List<Integer> list = new ArrayList<>(); for (int i = 0; i < arr.length; i...原创 2019-09-26 15:43:38 · 198 阅读 · 0 评论 -
给定一个字符串str,求里面大写字母,小写字母,以及其他字符的个数?
public static void main(String[] args) { String str="fhudsfvdUJIKLIUvd3253252"; int m = 0; int n = 0; int k = 0; char[] a = str.toCharArray(); for (char ch : a){ if(ch >= 'a' &&...原创 2019-05-14 17:29:41 · 1968 阅读 · 0 评论