3 廖师尧

杭州泰福云健康科技有限公司上海分公司 - 高级java工程师

我要认证

越努力,越幸运!

等级
TA的排名 6k+

面试官提问,如何用一段代码证明JVM加载类是懒加载模式 ?

假如有一天,你要找工作,等到了面试邀请,来到了面试公司,做完了笔试题,迎来了面试官。面试官的第一个问题确是:你如何用一段代码证明在JVM加载类是懒加载模式?来来来,都坐下,先看看这段代码,思考一下结果。/** * Created by IntelliJ IDEA. * * @author IT 贱男 * description: * date: 2020/8/25 15:23 */public class SuperClass { static {

2020-08-25 16:16:24

你知道java类在JVM底层中如何存储的么 ? Klass模型

在看文章之前,来举手看看有多少小伙伴是以下情况的:表情包都说:一杯茶、一包烟,一行代码写一天。写代码,我们是在.java文件中写的, 经过编译,会编译成.class文件,最后会通过类加载器到JVM中去。那么请问,java类在JVM底层中如何存储的? (知道扣1、不知道扣2~~~)那么本文就来和大家讨论一下这个问题。Klass 模型Java的每一个类,在JVM中,都会有一个对应的Klass类,用来存储类的元信息比如:属性信息、方法信息等等。Klass类什么?它是一个用C++..

2020-08-25 14:52:38

编译Spring5.0.x源码之一路坎坷,你经历过绝望吗?

本文来说说在编译spring-springframework-5.0.x的路上,小编我到底经历了什么?如果正在看文章你,恰好也想要研究spring源码,那么请先做好准备再动手,不然迎来的问题如滔滔江水,连绵不绝。第一天:先来说说环境:系统:MacOs、开发工具:idea 2017、JDK:1.8spring源码传送门:https://github.com/spring-projects/spring-framework第一天小编什么都没准备,直闯源码仓库,找到5.0.x版本,小.

2020-08-14 16:13:29

深入理解Java线程池 ScheduledThreadPoolExecutor

1. ScheduledThreadPoolExecutor简介ScheduledThreadPoolExecutor可以用来在给定延时后执行异步任务或者周期性执行任务,相对于任务调度的Timer来说,其功能更加强大,Timer只能使用一个后台线程执行任务,而ScheduledThreadPoolExecutor则可以通过构造函数来指定后台线程的个数。ScheduledThreadPoolExecutor类的UML图如下:从UML图可以看出,ScheduledThreadPoolExecuto

2020-07-20 17:24:29

面试从int数据类型引发的一场血案,请问这真的只是基础吗?

天有不测风云,没想到今天给遇到了,早上起床大雨交加,噼里啪啦收拾出了门。面试官:你好,我这边是负责面试的,那咱们就开始吧小编:好的好的( 点点头 ) ~~面试官: 那我们从简单来先把。 一个int类型占几个字节?小编:4个字节,一个字节等于8个bit位。面试官:那你来说说byte和bit的区别 ?问到这里,小编就有点不详的预感~~首次来说 8bit = 1 byte ,计算机中最小的信号单位是bit、而最小的信息单位是byte。...

2020-06-08 15:54:58

Java并发编程应该掌握的并发工具类,快来看看你掌握了哪些?

1、JUC是什么?JUC是java并发包java.util.concurrent的缩写,你没有看错,就是这么简单明了~~~在我们JDK的并发包中,提供了几个非常有用的并发工具类,比如:闭锁、同步屏障、信号量,在线程之间交换数据的一种方式 Exchanger,文本还会讲到,用于并行执行任务的框架Fork/Join。2、CountDownLatch 闭锁这个CountDownLatch...

2020-05-09 11:15:49

深入ReentrantLock实现原理和源码分析,冲鸭~~

一、引言话不多说,扶我起来,我还可以继续撸。在学习ReentrantLock源码之前,先来回顾一下链表、队列数据结构的基本概念~~二、数据结构2.1 链表(Linked List)小学一、二年级的时候,学校组织户外活动,老师们一般都要求同学之间小手牵着小手。这个场景就很类似一个单链表。每个小朋友可以看作一个节点信息,然后通过牵手的方式,形成整个链表结构。1、链表是...

2020-04-27 17:24:42

PPet —— 点进来送你一个桌面宠物,让单身码农不再孤单~~

一、引言还是今早一如既往来到公司,打开B站就开始吸取今天的欧气~~逛了这么久的B站突然发现还有这么一个骚操作,在页面有个动漫小可爱,还可以和鼠标做简单的交互。这让我小编我想到了以前小时候玩的QQ宠物,在桌面上可以游戏,喂食物等等。(左图 B站 、 右图 QQ宠物) 二、软件下载PPet,给你的桌面增加一丝色彩 ~~...

2020-04-16 10:21:37

从青铜到王者的路线来聊聊Synchronized底层实现原理

这篇文章码了小编***个小时,给个赞不过分吧~~文本内容有点多,如果有写错或者不好地方,还请多多指教~~~~~~~

2020-03-20 16:18:44

背井离乡上海就业三年,是如何坚持走到今天,之后的路又该如何选择??

一、引言2020年算第一天正式上班的日子,心情顿时有点振作了起来,但却略带一丝紧张。振作的原因是我又可以回到之前的生活,在公司的环境下可以保持着专心工作、专心写代码和学习的心态,紧张又是因为我要提离职了。其实这篇文章是打算等我真正离职后才开始写的,但离职不是特别顺利,外加一些因素,又让小编犹豫不决。二、踏上一条不归路,过上消磨时光的日子17年2月18日,这个是小编我第一次踏上上...

2020-03-05 10:55:00

Java递归实现多级菜单实现

一、引言小编之前写过如何实现一二级菜单的文章,回顾了下之前所实现的逻辑方式,简直惨不忍睹~~由于近期小编接触新的项目需要实现展示菜单功能,但这次的菜单是需要多级,并且级数不固定。像这种需求,一般很简单的来说就是用递归实现了,可以从第一级一直往下查,一直查询到为空为止。二、数据库表结构这里小编之列出来几个基本的字段,但是够用了CREATE TABLE `mall_categ...

2020-02-26 21:59:52

nacos —— 控制台默认用户名密码

一、引言最近疫情比较严重,小伙伴就老老实实呆在家办公吧~~新的一年小编近几个月比较忙,所以博客更新的比较慢,但是工作还是得继续呀。新年的第一篇博客,新年快乐、新年快乐、新年快乐。二、默认密码新的一年第一个礼拜小编在家办公,接触了一个新的项目,其中所使用的注册中心是阿里巴巴开源的Nacos。把Nacos服务启动之后,服务也相对注册上了,访问Nacos的后台直接弹出个登陆页面 ...

2020-02-04 18:41:06

实战开发支付SDK —— 处理微信支付异步回调以及订单状态查询(含源码)

一、引言上篇文章中,讲解并且实现微信支付,既然微信下单成功了,那我们怎么知道用户有没有付款呢?说到这里,小编先要明确一下,我们主要的是针对开发一个支付的SDK。SDK通俗来讲,把我们所编写的一个项目可以打包成一个jar包,其他项目进行依赖,就可以使用该jar包中所对应的方法。那么这里微信首先会:异步回调通知商户系统 —— 商户系统调用SDK中异步回调处理的方法 —— 商户系统拿到S...

2020-01-06 15:19:09

实战开发支付SDK —— 对接微信支付看这一篇文章就够啦(含源码)

Table of Contents一、引言二、了解微信支付2.1、支付方式2.1.1、付款码支付2.1.2、JSAPI支付2.1.3、Native支付2.1.4、APP支付2.1.5、H5支付2.1.6、小程序支付2.1.7、人脸支付2.2、名词解释2.2.1、appid2.2.2、openid2.2.3、商户号以及密钥三、同步 vs 异...

2019-12-27 15:36:53

实战开发支付SDK —— 项目结构设计讲解(微信、支付宝)

文章目录结构一、引言二、整体结构设计三、项目代码结构四、项目通用工具类MapUtil :MoneyUtil :RandomUtil :XmlUtil​​​​​​​ :一、引言上一章节介绍有关于SDK内容,以及项目搭建。那么本章就来说说,在开始动手写代码之前,我们先要确认好,这个SDK你想做成什么样子,想怎么去设计。郑重声明:小编并非专业架构设...

2019-12-23 15:42:44

实战开发支付SDK —— 内容介绍以及项目环境搭建

文章目录结构一、引言二、内容介绍三、项目技术介绍lombok的使用Retrofit2网络框架的使用四、项目搭建五、骗一波关注一、引言这两大支付可以说已经深深融入我们每个人的生活了,但做程序员的我们来说,掌握对接微信支付、支付宝支付是一个很大的优势,现在小编的衣食住行基本上是离不开它们的,出行就是滴滴、吃饭就是美团饿了么,购物就是淘宝京东!!!所以为了更进...

2019-12-21 15:40:37

Java行为型设计模式 —— 命令模式打响战争的开始

一、引言阳光明媚的一个周末。上一章讲了模板方法设计模式,今天小编继续来说命令设计模式,也是行为型设计模式的一种~~~~二、命令模式基本介绍所谓命令模式,就是下达命令,最后有人执行命令。大家想想古代打战的时候,将军下达命说,明天需要攻下某某某山头。那么将军就找来了参谋长,这个时候参谋长得知了将军的意思,参谋长就找来每个军营的负责人,说一营、二营全部人员明天出发某某某山头。...

2019-12-14 12:57:58

Java行为型设计模式 —— 模板方法模式将大象塞入冰箱

一、引言今今今今今今今今今天,小编所编写设计模式已经进入白热化状态了,之前介绍了创建型、结构型一共12种设计模式。现在升级到行为型设计模式了,skr skr skr ~~~行为型设计模式一共11种,那么今天就来说模板方法模式,这个模板方法设计模式相对来说还是比较好理解的。二、模板方法基本介绍有时候我们在功能开发过程当中,会发现新需求和之前的功能很类似,执行的流程都一样,可能就是...

2019-12-07 16:54:18

Java结构型设计模式 —— 必须要了解的代理模式

一、引言一年四季,这今年上海的冬天格外的冷童鞋,听说你还不够了解代理模式,来看这篇文章就够了,本文看起来通俗易懂,读起来朗朗上口,写撰水平绝不亚于莎士比亚的四大悲剧。不知道扯些什么啦,进入主题把~~~~~~~~~~~二、代理模式基本介绍代理模式小伙伴多多少少都有了解,就是通过一个代理对象,去调用另外一个对象的方法是吧?下面是一段白话:代理模式:为一个对象提供了一...

2019-12-05 21:29:58

跟小编玩转Docker到天亮 —— 利用Bind Mouting提高开发调试效率

一、引言阔爱帅气的小编又来了 , 那么么么么今天所写的文章也是在实际使用docker所遇到的问题。新开发一个项目、或者新写一个功能需求,那肯定避免不了调试开发,然后测试,测试完又要改源码。但每次修改一次源码都需要重新build的一下镜像,我滴天,这么麻烦的吗?如果你也是遇到类似相同的问题,请问继续往下看......二、数据持久化之Bind Mouting遇到这个问题小编...

2019-12-03 15:32:14

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到王者
    签到王者
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 技术圈认证(专家版)
    技术圈认证(专家版)
    博客专家完成年度认证,即可获得
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv3
    阅读者勋章Lv3
    授予在CSDN APP累计阅读博文达到30天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 原力探索
    原力探索
    参与《原力计划【第二季】——打卡挑战》的文章入选【每日精选】的博主将会获得此勋章。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 博客之星-入围
    博客之星-入围
    授予每年博客之星评选结果第21-200名的用户
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。