Java North

Java 's Blog


  • 首页

  • 分类

  • 作者

  • 归档

  • 关于

JVM OOM解决方案——20210929

发表于 2021-09-25 | 分类于 JVM

JVM 发生 OOM 的 8 种原因、及解决办法

大家好,我是指北君。

作为一个Java软件开发工程师,JVM的相关知识是必不可少的,而JVM发生OOM的排查与解决也是面试当中的重中之重,所以,今天指北君就来聊聊JVM发生OOM的几种原因与解决办法

阅读全文 »

java 中的压缩和解压缩——20210930

发表于 2021-09-19 | 分类于 java

java 项目总是有上传 zip 包和下载 zip 包的需求,这时就得用 ZipInputStream 和 ZipOutputStream 类。

阅读全文 »

Java 基本类型 - 20211015

发表于 2021-09-19 | 分类于 Java基础

大家好,我是指北君。

今天指北君要带大家继续学习Java的基本数据类型。

大家都知道 Java 是一门强类型的编程语言,这就是说必须为每一个变量显示的声明一种类型。在 Java 中,一共有8种基本类型,其中有4种整型、2种浮点型、1种字符类型和1种布尔类型。

阅读全文 »

软软猿妹问我遇到线程安全怎么办?--20211022

发表于 2021-09-19 | 分类于 Algorithm

线程安全一直是多线程开发中需要注意的地方,可以说,并发安全保证了所有的数据都安全。

阅读全文 »

mysql安装——20220801

发表于 2021-09-12 | 分类于 mysql

大家好,我是指北君,mysql是大家最常用的数据库,也是大家学习编程前需要提前准备的,但是,mysql的安装比较繁琐,难倒了一批入门的小白,所以,今天指北君就带大家安装mysql,此文章只要是针对windows系统的,后续指北君也会针对macOS系统写一篇,下面开始正题吧

阅读全文 »

读取 classpath 资源 --20211021

发表于 2021-09-12 | 分类于 Java基础

大家好,我是指北君。

Java 程序经常要读取配置文件(properties)、图片(jpg)、文本文件(txt、csv),我们可以使用 上次所讲的 InputStream 实现。

阅读全文 »

Java 变量——20211101

发表于 2021-09-11 | 分类于 Java基础

Java变量

大家好,我是指北君。

今天指北君来给大家讲讲Java变量。

什么是变量?

变量就是初中数学的代数的概念,例如一个简单的方程,x,y都是变量:

y=x^2+1

在Java程序设计中,变量是指一个包含值的存储地址以及对应的符号名称。

从定义上来看,变量大概可分为两部分:变量的名字和变量的值,可通过变量名来访问变量值。简单来说,变量就是存储数据的载体。

对于 Java 语言来讲,Java 是一种强类型的语言,因此变量都必须有一个类型。在 Java 代码中,变量是长这个样子的:

阅读全文 »

Doug Lea 大师的艺术之作CompletableFuture (一)——20211006

发表于 2021-09-11 | 分类于 Thread

completeFuture作为Doug Lea大师的有一个艺术作品,把并发编程的艺术发挥到极致。之前的Future为我们提供了多线程执行返回值的使用问题。而CompletableFuture则为我们提供了一种线程执行结果连续处理的能力。为多线程编程提供了更为简洁的方式。关于CompletableFuture,我会分为多篇来讲,今天会为大家介绍一下其基本方法以及不同名称参数的方法含义及作用。

阅读全文 »

LinkedHashMap 比较冷门,但是不会可不行 20210920

发表于 2021-09-10 | 分类于 JDK , 源码解读 , Java基础

哈喽,大家好,我是指北君。
说到集合类,之前介绍的ArrayList类,HashMap可能是大家日常用的最多的类,但是对于另一个集合类 LinkedHashMap,可能大家用的不多,但是这种链式哈希集合,有些情况确实特别好用。

阅读全文 »

Mysql-面试题

发表于 2021-09-05 | 分类于 Mysql

Mysql 面试题

阅读全文 »

面试题——MongoDB

发表于 2021-09-05 | 分类于 面试题 , MongoDB

MongoDB面试题

阅读全文 »

面试题——算法

发表于 2021-09-05 | 分类于 面试题 , 算法

Java算法面试题

阅读全文 »

MQ面试题

发表于 2021-09-05 | 分类于 JDK , JUC , 源码解读

1、为什么要使用MQ

核心:解耦,异步,削峰

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)削峰:减少高峰时期对服务器压力。

阅读全文 »

为了给公司新来的妹子说清楚线程之间的通信,我用了8种方法!--20210913

发表于 2021-09-04 | 分类于 Thread

最近公司新入职了几个妹子,其中有一个妹子不停的追着我问各种问题。这次又来问我关于线程通信相关的问题。线程之间的通信以及线程之间的协作方面的面试,通常是考验一个Java程序员多线程方面的基本功。为了让妹子搞清楚线程之间的通信那些事儿,我用了8种方法!

阅读全文 »

InputStream 和 OutputStream 基础 --20210916

发表于 2021-09-03 | 分类于 某某白米饭

大家好,我是指北君。

在 java 中将程序通常会和其他外部设备进行数据交互,比如写入磁盘,网络发送数据等等,今天我们来学学 java 中 基础的 IO 流。

阅读全文 »

Java 基础语法--20210915

发表于 2021-09-02 | 分类于 Java基础

大家好,我是指北君。

今天指北君要带大家来学习Java的基础语法。

阅读全文 »

Netty-面试题

发表于 2021-09-02 | 分类于 Netty

Netty 面试题

阅读全文 »

hibernate 面试题

发表于 2021-09-01 | 分类于 hibernate , 面试题

hibernate 面试题

阅读全文 »

spring cloud 面试题

发表于 2021-08-31 | 分类于 spring

spring cloud 面试题

阅读全文 »

面试题——设计模式面试题

发表于 2021-08-29 | 分类于 面试题 , 设计模式

设计模式面试内容

阅读全文 »
1 … 9 10 11 … 16
Java Geek Tech

Java Geek Tech

一群热爱 Java 的技术人

314 日志
117 分类
43 作者
RSS
GitHub 知乎
Links
  • 纯洁的微笑
© 2019 - 2023 Java Geek Tech
由 Jekyll 强力驱动
主题 - NexT.Mist