自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 春招暑期实习面试经验小分享,阿里腾讯美团字节实习offer

我自己的22届春招实习算是告一段落,给自己做个总结,也给大家分享一下金三银四的一些心得。一、首先介绍一下自己的情况:22届应届毕业生就读于上海某211电子信息专硕(两年制),今年研一java后端开发(半路出家)暑期大厂实习offer:阿里巴巴—蚂蚁金服—支付宝技术部—java腾讯—PCG—看点搜索中心—c++字节跳动—电商业务->转到西瓜视频—go美团—美团平台—服务体验部—java携程—国际化旅游业务—java…最终选择了去阿里实习,有以下几个原因:

2021-04-26 19:17:26 2037 4

原创 JVM(2)-JVM内存分区图文

JVM内存分区图文​ 首先看图,JVM内存里面主要干一下三件事,我们从这三件事展开,了解并掌握JVM内存分区:方法区(元数据空间)​jdk1.8之前叫做方法区,主要放".class"文件加载进来的类,还有一些类似的常量池的东西。jdk1.8以后,改名为"Metaspace"-元数据空间。程序计数器​ 我们写好的java代码会编译成字节码文件,包含各种字节码指令,然后字节码才能被JVM字节码执行引擎,一条条的去执行。​ 我们JVM支持多个线程,我们的代码会开启多个线程并发的执行不同的代码,

2020-12-15 00:32:16 212

原创 JVM(1):java程序是怎么跑起来的

谈一个话题,我们写了那么多的java程序,他是怎么运行的呢?先看这个流程图第一步:“.java”文件进行编译,打包成jar包里的“.class”文件第二步:利用"类加载器"进行加载“.class”文件,把“.class”字节码文件加载到JVM内存中供后续使用。第三步:JVM基于自己的字节码执行引擎,来执行加载到JVM内存中已经写好的那些类。那么,什么是类加载器呢?类加载器类加载器是分层级的,遵循双亲委派机制虚拟机自带的加载器最上层是Bootstrap ClassLoder,加载j

2020-12-13 22:28:33 216

原创 MyBatisPlus整理笔记

Mybatis-plus:对Mybatis做增强,简化开发一、快速入门1、创建user表:DROP TABLE IF EXISTS user;CREATE TABLE user( id BIGINT(20) NOT NULL COMMENT '主键ID', name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名', age INT(11) NULL DEFAULT NULL COMMENT '年龄', email VARCHAR(50) NULL D

2020-11-19 21:44:03 187

原创 JUC并发编程(3):线程池

谈到线程池,只需要记住这三个词:三大方法,七大参数,四种拒绝策略轻松搞定!1、线程池在Java中,创建和销毁线程是非常费时的,可能加起来的运行时间可能远大于方法实行的时间,为了提高程序效率,我们需要尽可能的降低线程的创建和销毁!此时就会使用线程池这种池化技术!2、三大方法(创建线程池的方法)ExecutorService ThreadPool1 = Executors.newSingleThreadExecutor();// 单个线程ExecutorService ThreadPool2 = Ex

2020-11-18 20:19:38 85

原创 JUC并发编程(2):常用辅助类

为了实现线程中的精准的相互通信控制,我们在JUC.locks包下**有Condition寄存器可以实现精准唤醒**,JUC还提供了一些**常用辅助类**帮助我们实现线程之间的相互控制。1、CountDownLatch——减计数锁存器使用方法:CountDownLatch countDownLatch = new CountDownLatch(6); //创建锁存器countDownLatch.countDown() //计数器减一countDownLatch.await() //等待.

2020-11-17 10:30:29 91

原创 JUC并发编程(1):Lock、Condition、ReadWriteLock

本章主要介绍JUC.Locks包下的三个接口:Lock(可重入锁)、Condition(监听器)、ReadWriteLock(读写锁)一、回顾synchronized锁1、同步方法public synchronized void method(int args){}synchronized方法控制对象访问,每个对象对应一把锁每个synchronized方法必须调用改方法对象的锁才能执行,否则线程阻塞方法一旦执行,就独占该锁,直到方法结束才返回锁2、同步块synchronized(Ob

2020-11-16 12:51:34 150 1

原创 Java多线程初级(3):线程同步

一、引入我们直接看简单又亲切的的代码解释一下为什么要使用线程同步:我们用多个线程同时执行这段代码:num++;我们未使用线程同步代码如下:public class demo { public static void main(String[] args) { AddSum addSum = new AddSum(); //创建业务对象 for (int i = 0; i < 10000; i++) { new Thread((

2020-11-15 10:14:12 89

原创 Java多线程初级(2):多线程的六种状态

废话不多说,看线程状态先从源码定义看起public enum State { //初始 NEW, //运行 RUNNABLE, //阻塞 BLOCKED, //等待 WAITING, //超时等待 TIMED_WAITING, //终止 TERMINATED;}可以通过下面代码获取线程状态:Thread.State state = thread.getState();一、线程状态说明NEW(初始):初始状态,线程

2020-11-14 15:41:00 203

原创 Java多线程初级(1):三种创建线程的方式与拓展

一、继承Thread类基础方法:自定义线程类继承Thread类重写run()方法,编写线程执行方法体创建线程对象,调用start()方法启动线程代码样例:public class Demo { public static void main(String[] args) { for (int i = 0; i < 5; i++) { Thread1 thread1 = new Thread1(); //创建线程对象

2020-11-13 22:54:59 146

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除