大家好,我是指北君。
今天指北君要带实习生小伙伴,过一遍Java运算符相关的内容。
指北君: 在Java中,有很多种类型的运算符,主要可以分为:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
实习生:啊,有这么多种吗?有些感觉我都没听过呀。
Java 's Blog
大家好,我是指北君。
今天指北君要带实习生小伙伴,过一遍Java运算符相关的内容。
指北君: 在Java中,有很多种类型的运算符,主要可以分为:算术运算符、关系运算符、位运算符、逻辑运算符、赋值运算符、其他运算符。
实习生:啊,有这么多种吗?有些感觉我都没听过呀。
JDK中有许多函数式接口,也会有许多方法会使用函数式接口作为参数,同时在各种源码中也大量使用了这些方法,那么我们在实际工作中应该如何使用!我们就来盘一盘,这样也有助于写出优雅的代码,使我们在阅读源码时事半功倍。
大家好,我是指北君。
作为一个Java软件开发工程师,JVM的相关知识是必不可少的,而JVM发生OOM的排查与解决也是面试当中的重中之重,所以,今天指北君就来聊聊JVM发生OOM的几种原因与解决办法
java 项目总是有上传 zip 包和下载 zip 包的需求,这时就得用 ZipInputStream 和 ZipOutputStream 类。
大家好,我是指北君。
今天指北君要带大家继续学习Java的基本数据类型。
大家都知道 Java 是一门强类型的编程语言,这就是说必须为每一个变量显示的声明一种类型。在 Java 中,一共有8种基本类型,其中有4种整型、2种浮点型、1种字符类型和1种布尔类型。
线程安全一直是多线程开发中需要注意的地方,可以说,并发安全保证了所有的数据都安全。
大家好,我是指北君,mysql是大家最常用的数据库,也是大家学习编程前需要提前准备的,但是,mysql的安装比较繁琐,难倒了一批入门的小白,所以,今天指北君就带大家安装mysql,此文章只要是针对windows系统的,后续指北君也会针对macOS系统写一篇,下面开始正题吧
大家好,我是指北君。
今天指北君来给大家讲讲Java变量。
变量就是初中数学的代数的概念,例如一个简单的方程,x,y都是变量:
y=x^2+1
在Java程序设计中,变量是指一个包含值的存储地址以及对应的符号名称。
从定义上来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。简单来说,变量就是存储数据的载体。
对于 Java 语言来讲,Java 是一种强类型的语言,因此变量都必须有一个类型。在 Java 代码中,变量是长这个样子的:
completeFuture作为Doug Lea大师的有一个艺术作品,把并发编程的艺术发挥到极致。之前的Future为我们提供了多线程执行返回值的使用问题。而CompletableFuture则为我们提供了一种线程执行结果连续处理的能力。为多线程编程提供了更为简洁的方式。关于CompletableFuture,我会分为多篇来讲,今天会为大家介绍一下其基本方法以及不同名称参数的方法含义及作用。
哈喽,大家好,我是指北君。
说到集合类,之前介绍的ArrayList类,HashMap可能是大家日常用的最多的类,但是对于另一个集合类 LinkedHashMap,可能大家用的不多,但是这种链式哈希集合,有些情况确实特别好用。
Mysql 面试题
MongoDB面试题
Java算法面试题
核心:解耦,异步,削峰
1)解耦:A 系统发送数据到 BCD 三个系统,通过接口调用发送。如果 E 系统也要这个数据呢?那如果 C 系统现在不需要了呢?A 系统负责人几乎崩溃……A 系统跟其它各种乱七八糟的系统严重耦合,A 系统产生一条比较关键的数据,很多系统都需要 A 系统将这个数据发送过来。如果使用MQ,A 系统产生一条数据,发送到 MQ 里面去,哪个系统需要数据自己去 MQ 里面消费。如果新系统需要数据,直接从 MQ 里消费即可;如果某个系统不需要这条数据了,就取消对 MQ 消息的消费即可。这样下来,A 系统压根儿不需要去考虑要给谁发送数据,不需要维护这个代码,也不需要考虑人家是否调用成功、失败超时等情况。就是一个系统或者一个模块,调用了多个系统或者模块,互相之间的调用很复杂,维护起来很麻烦。但是其实这个调用是不需要直接同步调用接口的,如果用 MQ 给它异步化解耦。
2)异步:A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。最终请求总延时是 3 + 300 +450 + 200 = 953ms,接近 1s,用户感觉搞个什么东西,慢死了慢死了。用户通过浏览器发起请求。如果使用 MQ,那么 A 系统连续发送 3 条消息到 MQ 队列中,假如耗时 5ms,A 系统从接受一个请求到返回响应给用户,总时长是 3 + 5 = 8ms。
3)削峰:减少高峰时期对服务器压力。
最近公司新入职了几个妹子,其中有一个妹子不停的追着我问各种问题。这次又来问我关于线程通信相关的问题。线程之间的通信以及线程之间的协作方面的面试,通常是考验一个Java程序员多线程方面的基本功。为了让妹子搞清楚线程之间的通信那些事儿,我用了8种方法!
Netty 面试题
hibernate 面试题