81 天前 / YourBatman
你好,我是 A 哥 (YourBatman)。 在 JSR 310 日期时间体系了,一共有三个 API 可用于表示日期时间: LocalDateTime:本地日期时间 OffsetDateTime:带偏移量的日期时间 ZonedDateTime:带时区的日期时间也许平时开发中你只用到过 LocalDateTime 这个 API,那是极好的,但是不能止步于此,否则就图样图森破了。 随着场景的多样性变化,咱们开发者接触到 OffsetDateTime/ZonedDateTime 的概率越来越大,但凡和国际化产生上关系的大概率都会用得到它们。本文依然站在实用的角度,辅以具体代码示例,介绍它三。
85 天前 / 九卷
这个问题是安琪拉之前面试被问到的一个问题,正好顺着上一篇文章介绍完线程调用时的用户态和内核态的切换,后续把 Java 并发的都一起讲了。 面试官:听前一个面试官说你 Java 并发这块掌握的不错,我们深入的交流一下; 我: 看了看面试官头部稀疏的结缔组织,已然觉得这场面试不简单,不过好在事前把安琪拉的博客看了个遍,有所准备,我回答说:咳咳,掌握的还算可以。 面试官:Java 线程用过的吧? 我:用过。 面试官:那你给我讲讲 Java 线程和操作系统的? 我:啊!!! 咆哮剧情不应该这样的啊,开场不应该先是 synchronized 或者 volatile...
86 天前 / YourBatman
你好,我是 A 哥 (YourBatman)。 本系列的目的是明明白白、彻彻底底的搞定日期 / 时间处理的几乎所有 case。上篇文章铺设所有涉及到的概念解释,例如 GMT、UTC、夏令时、时间戳等等,若你还没看过,不仅强烈建议而是强制建议你前往用花 5 分钟看一下,因为日期时间处理较为特殊,实战必须基于对概念的了解,否则很可能依旧雾里看花。 说明:日期 / 时间的处理是日常开发非常常见的老大难,究其原因就是对日期时间的相关概念、应用场景不熟悉,所以不要忽视它 上篇概念,本文落地实操,二者相辅相成,缺一不可。
87 天前 / 码农UP2U
Spring Boot 框架的诞生,使得 Java 框架整合变得越来越容易了,只要加入对应的 starter 和 简单的必要设置 就可以轻松的完成。框架整合完成后就可以开始愉快的开发了。如果我们整合的是一个基于 Web 的框架,那么整合完框架后,就需要引入几个小的功能到项目中,分别是 统一返回格式、参数校验 和异常处理。 准备工作 我们创建一个 Spring Boot 的项目,然后引入 Lombok 和 Spring Web 即可。因为这几个功能都不需要使用数据库,只需要一个 Controller 即可。
89 天前 / WriteOnRead
概述 对于 Java 后端开发而言,Spring 框架的重要性不言而喻。而 Spring 中最核心的无非就是 IoC 和 AOP。 相关的概念不再赘述,网上可以找到很多对它们的介绍。 这里想说的是,IoC 只是一种设计思想,它的原理在不同语言有多种实现,同一种语言也有多个产品,Spring 是 Java 语言实现中最著名的一个。 刚开始接触 IoC 这个概念的时候对这些不是太清楚,以为是 Spring 独有的,后面发现并不是。 很多小伙伴平时的工作中只知道怎么去用,但不知道 Spring 是如何实现 IoC 的。
92 天前 / Hollis
GitHub 17k Star 的 Java 工程师成神之路,不来了解一下吗!最近一段时间,我在面试的过程中,很喜欢问双亲委派的一些问题,因为我发现这个问题真的可以帮助我全方位的了解一个候选人。 记得前几天一次面试过程中,我和一位候选人聊到了 JVM 的类加载机制的问题,他谈到了双亲委派,并且很自信的给我讲了一下他对于双亲委派的理解。 因为难得碰到一个对着块知识了解的比较多的候选人,于是我们展开了”300 回合”的交锋,当问完这些问题的之后,大概半个小时已经过去了。
93 天前 / 猿天地
作者 l 程序员小跃 来源 l 程序员小跃(ID:runningdimple) 大家好,我是程序员小跃,一名在职场已经写了 6 年程序的老程序员,从一开始的菊厂 Android 开发到现在某游戏公司的 Java 后端架构,对 Java 还是相对了解的挺多。 大概是半年前吧,在知乎上有个知友私信给我,问我关于零基础如何学习 Java,以及在学习过程中会存在一定的迷茫,如何应对等等。 我想着何不把以前的内容重新整合下分享出来给大家呢,于是就有了今天的这次分享。
93 天前 / 狂聊Java
点上面蓝色字体关注我呀 前言大家好,我是狂聊。 今天来聊 synchronized 关键字,高频面试问题。 这篇文章构思 + 画图 + 文字花了好几天的时间,我已经彻底废了,看完希望你能有所收获。 话不多说,直接干货。 正文一、synchronized 的用法 1.1、三种使用方式静态方法非静态方法代码块代码示例: publicclassTest{ // 对象 Objectobject=newObject(); // 共享变量 privatestaticintnum; // 静态方法 publicsynchronizedstaticvoidlock1(){ num++; } // 普通方法 publicsynchronizedvoidlock2(){ num++; } publicvoidlock3(){ // 代码块 synchronized(objec...
95 天前 / 博文视点Broadview
作者 | 方剑(洛夜) Spring Cloud Alibaba 开源项目负责人 / 创始人之一本文摘自 Spring Cloud Alibaba 开源项目创始团队成员方剑撰写的《深入理解 Spring Cloud 与实战》一书,主要讲述了 Java 微服务框架 Spring Boot/Cloud 这个事实标准下如何应对 FaaS 场景。 Serverless & FaaS 2019 年,O'Reilly 对 1500 名 IT 专业人员的调查中,有 40% 的受访者在采用 Serverless 架构的组织中工作。2020 年 DataDog 调查显示,现在有超过 50% 的 AWS 用户正在使用 Serverless 架构的 AWS Lambda。
96 天前 / WriteOnRead
前言前段时间陆续面试了一些大中小公司,踩了不少坑,挂了很多,同时也有不少感悟和收获。这里想把那段经历记录一下,如果能对亲们有所帮助就再好不过了。 面试的过程其实也是一个自我认识和学习的过程,即便暂时没打算跳槽,隔段时间出去面一面对自己还是有些好处的:不仅可以评估一下自己在市场的价值和竞争力,同时也能了解一些新技术、更新一下自己的技术栈。 而且在一个地方待久了,可能不自觉的就会陷入到一种「舒适区」,久而久之,就像温水里的青蛙,万一哪天被“优化”了可能会不知所措。
96 天前 / 编程一生
背景 Java 线程池的写法和参数是面试中出现频率很高的基础题。越是基础的东西,特别是对高阶职位的面试者,需要回答的符合自己面试的职位等级。 这里也不能说是一个多么好的答案,只是说如果是我,我怎么回答,仅供参考。以下回答可想象为面试官的问题是:谈谈线程池。主要的思路是作为一个宽泛的问题,回答需要体现结构化的思维,这是必选项。在此基础上,可以体现深度,这是加分项。 回答 线程池设计目标 Java 的线程主流实现都是采用内核级线程实现,创建线程要进行操作系统状态切换。为了避免资源过度消耗需要设法重用线程执行多个任务。
97 天前 / 程序员MarkChou
NullPointerException——空指针异常是程序中常见异常之一,也是导致程序运行失败的常见异常。以前,为了防止出现null,我们常在代码中使用if…else…做防御性检查,后来 Guava 为了解决上述方法造成的代码污染引入了Optional类。Java8 借鉴 Guava 的 Optional 也加入了同名的 Optional 类,Optional 类提供了很多实用的方法,借此可以避免显示的空指针判断,从而避免 NullPointerException。 常见方法下面逐一讲解 Optional 类提供的方法。
99 天前 / 逗逗
本文从计算机模型开始,以及 CPU 与内存、IO 总线之间的交互关系到 CPU 缓存一致性协议的逻辑进行了阐述,并对 JMM 的思想与作用进行了详细的说明。针对 volatile 关键字从字节码以及汇编指令层面解释了它是如何保证可见性与有序性的,最后对 volatile 进行了拓展,从实战的角度更了解关键字的运用。 一、现代计算机理论模型与工作原理 1.1 冯诺依曼计算机模型 让我们来一起回顾一下大学计算机基础,现代计算机模型——冯诺依曼计算机模型,是一种将程序指令存储器和数据存储器合并在一起的计算机设计概念结构。依据冯·诺伊曼结构设计出的计算机称做冯。
101 天前 / java金融
点击上方“Java 金融”,选择“设为星标” 后台回复"888"获取 bat 面试题集 在这里插入图片描述引言面试官: 小伙子你有点眼熟啊,是不是去年来这面试过啊。 二胖: 啊,没有啊我这是第一次来这。 面试官: 行,那我们开始今天的面试吧,刚开始我们先来点简单的吧,java 里面的容器你知道哪些啊,跟我说一说吧。 二胖: 好的,java 里面常见容器有 ArrayList( 线程非安全)、HashMap(线程非安全)、HashSet(线程非安全),ConcurrentHashMap(线程安全)。
102 天前 / 狂聊Java
大家好,我是狂聊,上一篇已经把 Jvm 的运行区数据和类加载机制聊完了。 今天来说说 Java 垃圾回收,高频面试问题。 提纲附上,话不多说,直接干货 1、什么是垃圾回收?垃圾回收(Garbage Collection,GC):就是释放垃圾占用的空间,防止内存泄露。对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。 2、垃圾在哪儿?上图可以看到程序计数器、虚拟机栈、本地方法栈都是伴随着线程而生死,这些区域不需要进行 GC。