自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Java编程指南(微信公众号同名)

专注Java学习,分享,免费分享学习资源,想学习更多欢迎关注公众号:Java编程指南

  • 博客(61)
  • 收藏
  • 关注

原创 2019年Java高级进阶学习视频(持续更新,限时领取)

如需获取以下学习资源请关注公众号:Java编程指南注意:所有资源回复对应标题即可领取(如:2019SpringBoot)因为放假有时间,呕心沥血给大家整理了整个Java学习过程的阶段视频, 包裹我自己也还在学习中,希望能跟大家一起学习进步,如果帮助到你了不妨关注一下小编我们一起学习如何呢?此篇文章中的视频适用于进阶阶段学习者,如果觉得自己不是:请移步自Java基础...

2019-07-26 12:06:51 315

原创 java学习线路(基础,源码,项目,实战)

如需获取以下学习资源请关注公众号:Java编程指南我们为自学者编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么疑问的地方也可以加小编的微信Java_Bczn,小编后期还会整理出更多的学习视频和每天一篇学习文章,赶紧关注我们吧。下面是我自学java的线路希望能帮到你们:一.基础学习这个阶段你...

2018-07-30 17:26:08 2610

转载 Java 并发 - 理论基础

对于处理器重排序,JMM 的处理器重排序规则会要求 java 编译器在生成指令序列时,插入特定类型的内存屏障(memory barriers,intel 称之为 memory fence)指令,通过内存屏障指令来禁止特定类型的处理器重排序(不是所有的处理器重排序都要禁止)。假若执行线程1的是CPU1,执行线程2的是CPU2。由上面的分析可知,当线程1执行 i =10这句时,会先把i的初始值加载到CPU1的高速缓存中,然后赋值为10,那么在CPU1的高速缓存当中i的值变为10了,却没有立即写入到主存当中。

2024-03-06 16:50:59 18 1

转载 Java源码-ArrayList

ArrayList实现了List接口,是顺序容器,即元素存放的数据与放进去的顺序相同,允许放入null元素,底层通过数组实现。除该类未实现同步外,其余跟Vector大致相同。每个ArrayList都有一个容量(capacity),表示底层数组的实际大小,容器内存储元素的个数不能多于当前容量。当向容器中添加元素时,如果容量不足,容器会自动增大底层数组的大小。前面已经提过,Java泛型只是编译器提供的语法糖,所以这里的数组是一个Object数组,以便能够容纳任何类型的对象。

2023-04-27 16:40:43 121

转载 Java 基础 - 异常机制详解

super(msg);// ...try、catch和finally都不能单独使用,只能是try-catch、try-finally或者try-catch-finally。try语句块监控代码,出现异常就停止执行下面的代码,然后将异常移交给catch语句块来处理。finally语句块中的代码一定会被执行,常用于回收资源。throws:声明一个异常,告知方法调用者。throw :抛出一个异常,至于该异常被捕获还是继续抛出都与它无关。Java编程思想一书中,对异常的总结。

2023-04-21 19:36:56 164

转载 Java 基础 - 泛型机制详解

Java泛型这个特性是从JDK 1.5才开始加入的,因此为了兼容之前的版本,Java泛型的实现采取了“”的策略,即Java在语法上支持泛型,但是在编译阶段会进行所谓的“”(Type Erasure),将所有的泛型表示(尖括号中的内容)都替换为具体的类型(其对应的原生态类型),就像完全没有泛型一样。本文综合多篇文章后,总结了Java 泛型的相关知识,希望可以提升你对Java中泛型的认知效率。@pdai。

2023-04-21 19:11:46 147

原创 b B KB MB GB TB 之间的关系与换算

b B KB MB GB TB 之间的关系与换算

2022-11-17 10:27:07 1749

原创 GC - Java 垃圾回收基础概念

欢迎关注我的公众号阅读更多优秀文章:Java编程指南什么是 Java GCJava GC就是通过GC收集器回收不在存活的对象,保证JVM更加高效的运转。注意:垃圾收集主要是针对堆和方法区进行;程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。判断一个对象是否可被回收¶ 1. 引用计数算法给对象添加一个引用计数器,当对象增加一个引用时计数器加 1,引用失效时计数器减 1。引用计数为 0 的.

2022-05-23 10:46:57 99

转载 JVM 基础 - JVM 内存结构

¶ 运行时数据区内存是非常重要的系统资源,是硬盘和 CPU 的中间仓库及桥梁,承载着操作系统和应用程序的实时运行。JVM 内存布局规定了 Java 在运行过程中内存申请、分配、管理的策略,保证了 JVM 的高效稳定运行。不同的 JVM 对于内存的划分方式和管理机制存在着部分差异。下图是 JVM 整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域。Java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建,随着虚拟机退出而销毁。另外一...

2022-05-19 09:53:19 188

原创 JVM 基础 - Java 类加载机制详解

欢迎关注我的公众号阅读更多优秀文章:Java编程指南¶ 类的生命周期其中类加载的过程包括了加载、验证、准备、解析、初始化五个阶段。在这五个阶段中,加载、验证、准备和初始化这四个阶段发生的顺序是确定的,而解析阶段则不一定,它在某些情况下可以在初始化阶段之后开始,这是为了支持Java语言的运行时绑定(也成为动态绑定或晚期绑定)。另外注意这里的几个阶段是按顺序开始,而不是按顺序进行或完成,因为这些阶段通常都是互相交叉地混合进行的,通常在一个阶段执行的过程中调用或激活另一个阶段。¶ 类的加.

2022-05-18 10:15:46 468

转载 JVM 基础 - 类字节码详解

源代码通过编译器编译为字节码,再通过类加载子系统进行加载到JVM中运行JVM 基础 - 类字节码详解 多语言编译为字节码在JVM运行 Java字节码文件 Class文件的结构属性 从一个例子开始 反编译字节码文件 字节码文件信息 常量池 方法表集合 类名 再看两个示例 分析try-catch-finally kotlin 函数扩展的实现 参考文章 ¶ 多语言编译为字节码在JVM运行计算机是不能直接运行java代码的.

2022-05-17 10:06:52 79

转载 Spring Boot面试题(2021最新版)

文章目录 概述 什么是 Spring Boot? Spring Boot 有哪些优点? Spring Boot 的核心注解是哪个?它主要由哪几个注解组成的? 配置 什么是 JavaConfig? Spring Boot 自动配置原理是什么? 你如何理解 Spring Boot 配置加载顺序? 什么是 YAML? YAML 配置的优势在哪里 ? Spring Boot 是否可以使用 XML 配置 ? spring boot 核

2021-04-07 18:21:41 330

转载 Java基础知识面试题(2021最新版)

转载自:https://thinkwon.blog.csdn.net/article/details/104390612文章目录 Java概述 何为编程 什么是Java jdk1.5之后的三大版本 JVM、JRE和JDK的关系 什么是跨平台性?原理是什么 Java语言有哪些特点 什么是字节码?采用字节码的最大好处是什么 什么是Java程序的主类?应用程序和小程序的主类有何不同? Java应用程序与小程序之间有那些差别? Java和C+

2021-04-07 11:19:42 115

原创 SpringBoot项目之跨域问题详解

一:域名知识:域名的定义我在这里就不啰嗦了,在这里给大家补充一个域名级别知识。域名可以分为:一级域名到N级域名,一般网站只会配置到三级。一级域名也被称为顶级域名,比如 .com .org .cn,但是可能有的人会说了:baidu.com,zhihu.com像这样的不也是一级域名吗?其实严格意义上来说这种并不属于一级域名,而是二级域名。但是从购买域名者的层面出发它可以被认为是一级域名。二:为什么会有跨域问题跨域问题是浏览器的一个安全策略,限制你访问本域名以外的其它域名资源。..

2020-12-22 18:41:30 262

转载 图文详解Mybatis工作原理

1.Mybatis的架构1.1 Mybatis的框架分层1.2 MyBatis的实现原理mybatis底层还是采用原生jdbc来对数据库进行操作的,只是通过 SqlSessionFactory,SqlSession Executor,StatementHandler,ParameterHandler,ResultHandler和TypeHandler等几个处理器封装了这些过程 执行器:Executor (update, query, ...

2020-10-26 10:40:27 559

转载 web开发中 web 容器有什么作用(如tomcat)

我们讲到servlet可以理解服务器端处理数据的java小程序,那么谁来负责管理servlet呢?这时候我们就要用到web容器。它帮助我们管理着servlet等,使我们只需要将重心专注于业务逻辑。什么是web容器?servlet没有main方法,那我们如何启动一个servlet,如何结束一个servlet,如何寻找一个servlet等等,都受控于另一个java应用,这个应用我们就称之为web容器。我们最常见的tomcat就是这样一个容器。如果web服务器应用得到一个指向某个servlet的请求,

2020-10-16 10:54:38 997

原创 微信支付实战演练

一、导入微信SDK二、在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建)三、实现微信的WXPayConfig接口1 package com.ieou.demo.common; 2 3 4 import com.github.wxpay.sdk.WXPayConfig; 5 import org.apache.commons.io.IOUtils; 6 7 import java.io.ByteArrayInputSt

2020-08-24 11:10:17 300

原创 cron表达式详解

想提升编程技术欢迎关注公众号:Java编程指南Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或7个域,每一个域代表一个含义。  一、结构  corn从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份  二、各字段的含义 字段 允许值 允许的特殊字符 秒(Seconds) 0~59的整数 , - * / 四个字符 分(Minutes) 0~59的整数 , - * / 四个字符 小时(Ho...

2020-07-27 16:42:22 190

转载 一篇文章弄到Shiro 认证 授权(图文详解)

Shiro权限控制0.1传统的权限认证方式特点:为每个人单独的分配权限模块,能够实现权限控制,但是当公司人员庞大之后,非常难管理上述权限控制如何设计表?关系:员工和菜单权限的关系:多对多员工id 菜单名称 1 取派管理 2 快递员管理 2 运单管理 好处:可以方便的 实现权限控制缺陷:比如当修改权限的时候,公司统一的给组长级别的人 加一个“计算工资”权限,这时候,得修改权限表中所有组长的权限,每个组长在数据库中都得增加一条“计算工资”记录的

2020-05-26 10:48:42 183

转载 redis集群搭建(非常详细,适合新手)

redis集群搭建在开始redis集群搭建之前,我们先简单回顾一下redis单机版的搭建过程下载redis压缩包,然后解压压缩文件; 进入到解压缩后的redis文件目录(此时可以看到Makefile文件),编译redis源文件; 把编译好的redis源文件安装到/usr/local/redis目录下,如果/local目录下没有redis目录,会自动新建redis目录; 进入/usr/...

2020-02-25 11:25:16 252

转载 为什么分布式环境下synchronized失效?如何解决这种情况?

synchronized关键字失效原因在Java多线程编程中,经常会用到synchronized和lock和原子变量等,而在分布式系统中,由于分布式系统中的分布性,即多线程和多进程并发 分布在不同机器中,synchronized和lock这两种锁将失去原有锁的效果,因此需要自己实现分布式锁来处理并发问题,分布式处理并发的办法有以下三种:队列定义:将所有要执行的任务放入队列中,然后...

2020-02-25 11:21:24 4297

原创 RabbitMQ的应用场景

1.背景RabbitMQ是一个由erlang开发的AMQP(Advanved Message Queue)的开源实现。2.应用场景2.1异步处理场景说明:用户注册后,需要发注册邮件和注册短信,传统的做法有两种1.串行的方式;2.并行的方式(1)串行方式:将注册信息写入数据库后,发送注册邮件,再发送注册短信,以上三个任务全部完成后才返回给客户端。 这有一个问题是,邮件,短信并不是必...

2020-02-18 13:27:32 256

转载 面试-高并发思路和解决方案

作者:于斯链接:https://zhuanlan.zhihu.com/p/57160217来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。这篇文章,我们聊聊大量同学问我的一个问题,面试的时候被问到一个让人特别手足无措的问题:你的系统如何支撑高并发?大多数同学被问到这个问题压根儿没什么思路去回答,不知道从什么地方说起,其实本质就是没经历过一些真正有高并...

2020-02-18 13:17:44 2426 1

转载 VMware安装Centos7超详细过程(图文)

原文:https://www.jianshu.com/p/ce08cdbc4ddb?utm_source=tuicool&utm_medium=referral本篇文章主要介绍了VMware安装Centos7超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下1.软硬件准备软件:推荐使用VMwear,我用的是VMwear 12镜像:CentOS7 ,如...

2020-02-16 15:09:35 241

转载 Spring事务的隔离级别

事务的隔离级别  事务隔离级别指的是一个事务对数据的修改与另一个并行的事务的隔离程度,当多个事务同时访问相同数据时,如果没有采取必要的隔离机制,就可能发生以下问题:问题 描述 脏读 一个事务读到另一个事务未提交的更新数据,所谓脏读,就是指事务A读到了事务B还没有提交的数据,比如银行取钱,事务A开启事务,此时切换到事务B,事务B开启事务–>取走100元,此时切换回事务A,...

2020-02-12 18:46:37 122

转载 Java开发中的23种设计模式详解

一、设计模式的分类总体来说设计模式分为三大类:1. 创建型模式共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。2. 结构型模式共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。3. 行为型模式共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中...

2020-02-11 12:21:27 207

转载 微服务,分布式,集群三者区别联系

概念:集群是个物理形态,分布式是个工作方式。分布式:一个业务分拆多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上1:分布式是指将不同的业务分布在不同的地方。而集群指的是将几台服务器集中在一起,实现同一业务。分布式中的每一个节点,都可以做集群。而集群并不一定就是分布式的。举例:就比如新浪网,访问的人多了,他可以做一个群集,前面放一个响应服务器,后面几台服务器...

2020-02-05 17:51:19 246

原创 最详细的java学习线路(基础,源码,项目,实战)

如需获取以下学习资源请关注公众号:Java编程指南我们为自学编程的或初学java的小伙伴们准备了一整套完整的学习资源和文章,还有我自己在自学路上的一些总结和学习线路,希望能帮到小伙伴们,如果有什么疑问的地方也可以加小编的微信:Java_Bczn,小编后期还会整理出更多的学习视频和每天一篇学习文章,赶紧关注我们吧。下面是我自学java的线路希望能帮到你们:一.基础学习压缩包解压密码:...

2019-11-29 11:20:08 274

转载 微信开发用到的常见的工具方法~~xmlToMap、MapToXml、签名等等

更多精彩文章请关注微信公众号:Java编程指南近日,在开发微信支付、微信退款、微信付款到零钱、微信订单查询、微信付款到银行卡的功能。以及其他微信API的使用。发现微信API的开发都是同样的套路~~封装参数–》包装成Xml—》提交到Api—》获取返回的内容就行了。因为会有多个API都设计到这些操作,特地抽取出来封装成工具类单独讲,学习完以下这5~8个放法、那么你的开发就很简便了 ~ ~ 一...

2019-11-21 15:59:00 469

转载 企业付款到零钱API开发~~~ 付款到微信

更多精彩文章请关注微信公众号:Java编程指南近日,在开发“微信企业付款到零钱”的功能。之前有过微信开发的经验,但是第一次接触“付款到零钱“这一块的业务,查询了很多的博客资料以及走了很多的弯路。也发现“企业付款到零钱”分享的博客并不多。特地写了该博客,希望对你们有帮助。个人浅薄的见解代码下载地址如下:链接:https://pan.baidu.com/s/1h6_ZSz5RbFARl...

2019-11-21 15:49:56 768

转载 这恐怕是把ArrayList源码分析的最清晰的文章了

前言  在前面的学习集合中只是介绍了集合的相关用法,我们想要更深入的去了解集合那就要通过我们去分析它的源码来了解它。希望对集合有一个更进一步的理解!  既然是看源码那我们要怎么看一个类的源码呢?这里我推荐的方法是:    1)看继承结构      看这个类的层次结构,处于一个什么位置,可以在自己心里有个大概的了解。    2)看构造方法      在构造方法中,看做了哪些事...

2019-11-14 12:14:30 105

转载 浅析 Comparable和 Comparator的区别

简介Comparable和 Comparator都是java.util包下的两个接口,从字面上看这两个接口都是用来做比较用的,但是jdk里面不可能定义两个功能相同的接口,所以他们肯定有不同的用处。1、Comparable1.1 说明Comparable可以认为是一个内比较器,实现了Comparable接口的类有一个特点,就是这些 类是可以和自己比较的,至于具体和另一个实现了Comp...

2019-11-01 18:44:27 96

转载 一文详解微服务架构

要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是一蹴而就的,这是一个逐渐演变的过程。本文将以一个网上超市应用为例来说明这一过程。最初的需求几年前,小明和小皮一起创业做网上超市。小明负责程序开发,小皮负责其他事宜。当时互联网还不发达,网上超市还是蓝海。只要功能实现了就能随便赚钱。所以他们的需求很简...

2019-10-29 20:48:49 198

原创 iOS技术支持

有任何问题可以在此留言也可以发送问题至邮箱,我们将在第一时间为您解答。邮箱地址: [email protected]谢谢

2019-10-11 11:58:00 107

转载 IDEA 初始配置教程

学习交流加小编微信:Java_Bczn初始启动界面如果你第一次安装使用,首次启动时,就会显示这个界面。如果你之前安装过,但是没有配置过 IDEA 的默认配置,可能在之后每次使用时,IDEA 总是打开最近一个关闭的项目。如果你是这种情况,你可以通过下面的界面打开 Settings 配置:如果是初始界面,可以右下角点击【Configure】打开如下菜单:选择 Setti...

2019-09-26 12:29:14 297

转载 IntelliJ IDEA 工具技巧

学习交流加小编微信:Java_Bczn以下都是自己积累的IntelliJ IDEA使用技巧,比较零碎,观看不便之处还望海涵,如有错误之处还望指正System.out.println("psvm+tab 是main方法的运行");System.out.println("ctrl+shift+enter 追加方法的大括号");System.out.println("ctrl+d 复制...

2019-09-26 12:16:45 164

转载 Java IO流详解

1.什么是IOJava中I/O操作主要是指使用Java进行输入,输出操作.Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列。Java的I/O流提供了读写数据的标准方法。任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法。IO又分为流IO(java.io)和块IO(java.nio)Java.io是大多数面向数据流的...

2019-07-10 16:38:03 152

转载 Redis的五种数据类型及方法

字符串string:字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描述信息等,是标准的key-value,一般来存字符串,整数和浮点数。Value最多可以容纳的数据长度为512MB应用场景:很常见的场景用于统计网站访问数量,当前在线人数等。incr命令(++操作)...

2019-07-10 15:00:03 162

转载 Java常量,变量,对象(字面量)在内存中的存储位置

针对Java中的常量,变量,字面量,对象的存储,略作总结.总结:new出的对象存储堆中,””存储常量池中,基本类型字面量为常量或静态变量时,存储在常量池,为成员变量存储在堆中,为局部变量存储在栈中....

2019-06-13 13:37:11 2104 2

原创 2019年Java高级进阶学习视频(限时领取)

注意:请先关注微信公众号:Java编程指南 所有资源回复对应标题即可领取(如:2019SpringBoot)因为放假有时间,呕心沥血给大家整理了整个Java学习过程的阶段视频, 包裹我自己也还在学习中,希望能跟大家一起学习进步,如果帮助到你了不妨关注一下小编我们一起学习如何呢?此篇文章中的视频适用于进阶阶段学习者,如果觉得自己不是:请移步自Ja...

2019-06-01 12:19:42 2177

空空如也

空空如也

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

TA关注的人

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