自定义博客皮肤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开发手册泰山版PDF下载

泰山版《Java开发手册》 《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。此次泰山版发布,将带来三大亮点:新增5条日期时间规约;新增2条表别名sql...

2020-05-20 07:55:31 713 2

转载 RestFul API 统一格式返回 + 全局异常处理

一、背景 在分布式、微服务盛行的今天,绝大部分项目都采用的微服务框架,前后端分离方式。前端和后端进行交互,前端按照约定请求URL路径,并传入相关参数,后端服务器接收请求,进行业务处理,返回数据给前端。 所以统一接口的返回值,保证接口返回值的幂等性很重要,本文主要介绍博主当前使用的结果集。 二...

2020-03-25 07:49:19 597 0

原创 Java 并发之 Executor 框架

1前言 在学习JUC的过程中我发现,JUC 这个包下面的文档写的十分的好,清楚又易于理解,这篇博客便是参考 JUC 中和Executor框架相关的一些类文档汇总出来的。 当然了,Executor 框架涉及到的类还是不少的,全部汇总的话时间成本太高,有点亏,所以这里主要就集中在了Executor...

2020-02-23 17:50:40 460 0

原创 Java基础学习之异常处理

1. Java异常体系 Java异常体系设计的目的在于通过使用少量代码,实现大型、健壮、可靠程序。 1.1. 异常处理 异常处理是Java中唯一正式的错误报告机制。异常处理机制最大的好处就是降低错误代码处理的复杂程度。 如果不使用异常,那么就必须在调用点检查特定的错误,并在程序的很...

2020-02-23 15:19:02 1176 0

原创 2020最新Java面试题,常见面试题及答案汇总

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境...

2020-01-27 16:38:54 46939 15

原创 JVM垃圾回收面试题详解

第一部分:面试题 本次分享我们将尝试回答以下问题: GC 是什么? 为什么要有 GC? 简单说一下java的垃圾回收机制。 JVM的常见垃圾回收算法有哪些? 为什么要使用分代回收机制? 如何判断一个对象是否存活? 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存...

2019-12-10 00:09:27 1593 0

转载 告别编码5分钟,命名2小时!史上最全的Java命名规范参考!

简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,夸张点可以说是编程5分钟,命名两小时!究竟为什么命名成为了工作中的拦路虎。 每个公司都有不同的标准,目的是为了保持统一,减少沟通成本,提升团队研发效能。所以本文中是笔者结合阿里巴巴开发规范,以及工作中的见闻针对Jav...

2019-12-09 14:56:56 816 0

原创 JVM的类加载机制全面解析

什么是类加载机制 JVM把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被JVM直接使用的Java类型,这就是JVM的类加载机制。 类的生命周期 类从被加载到内存中,到被卸载出内存,一共分为以下几步: 加载(Loading) 验证(Verific...

2019-12-04 08:59:40 323 0

原创 MySQL8.0 新特性学习之 Hash Join

概述&背景 MySQL因为没有实现hashjoin而受到批评。最新的8.0.18版本带来了这一功能,令人欣慰。有时候我想知道为什么MySQL不支持hashjoin?我认为这可能是因为MySQL主要用于简单的OLTP场景,而且它广泛应用于Internet应用程序中,所以需求并不那么迫切。另...

2019-11-30 12:30:17 304 0

原创 String和StringBuffer的区别

JAVA 平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可...

2019-11-29 19:34:23 626 0

原创 int和Integer有什么区别?

Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可...

2019-11-29 19:21:14 194 0

原创 正则表达式学习之调用CLR函数执行正则查询

正则表达式在文本查询方面,不管是速度还是功能,都十分强大。虽然SQL Server数据库可以执行模糊查询(像like子句)和全文查询(Fulltext search),但是这两个子句只能查询简单的模式,无法应对复杂的查询需求。 在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我...

2019-11-28 15:18:32 120 0

原创 消息队列面试题及答案

1、为什么使用消息队列? 消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。 2、消息队列的优缺点 异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列...

2019-11-27 15:48:36 3478 0

原创 Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开...

2019-11-26 11:59:06 186993 55

原创 Redis面试题汇总

1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的...

2019-11-25 12:06:24 751 0

原创 面向对象编程基础

  对象构成了一组数据结构及其处理方法。具有相同行为的对象被分类为类。内部细节被类的封装所隐藏。类的专门化和泛化是通过继承实现的,基于对象类型的动态赋值是通过多态实现的。。。。   程序是指令的集合:我们在程序中编写的语句在执行时变成一个或多个指令,然后由CPU执行。   为了简化程序设计,我们引...

2019-11-24 15:42:42 140 0

原创 Java面试宝典(2020版)

一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供...

2019-11-24 14:58:25 2085 1

原创 为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率如何吧(JDK版本为 jdk1.8.0_201)。 package com.wupx.d...

2019-10-25 20:42:38 343 1

原创 Java面向对象三大特性详解

一、封装 1、概念: 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 2、好处: 只能通过规定的方法访问数据。 隐藏类的实例细节,方便修改和实现。 3、封装的实现步骤       需要注意:对封装的属性不一定要通过get/se...

2019-10-24 12:11:02 467 0

原创 常见JVM面试题及答案整理

前言 总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。 1.什么情况下会发生栈内存溢出。 思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。 我的答案: ...

2019-08-26 11:35:04 50371 13

原创 Github 上优秀的 Java 项目推荐

1、JavaGuide 地址:Snailclimb/JavaGuide 【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。 2、DoraemonKit 地址:didi/DoraemonKit 简称 "DoKit" 。一款功能齐全的客户端( ...

2019-08-15 17:10:08 3044 0

原创 Java面试题及答案汇总(二)

容器 18. java 容器都有哪些? 常用容器的图录: 19. Collection 和 Collections 有什么区别? java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在J...

2019-08-15 09:28:59 783 0

原创 数据结构之图(内含Java代码实现)

数据结构之图 在前面我们所介绍的树的数据结构中,我们可以明显的感觉到,树的表示是分层的,例如父子关系,而其他关系只能间接的表示,例如同级关系。而图却不受这种限制。图是由顶点(或结点)及顶点之间的关系组成的集合。通常,图中的顶点数量或者一个顶点与其他顶点之间的连线的个数不受限制。(C++数据结构与...

2019-08-14 17:25:40 841 0

原创 30岁,转行学编程靠谱吗?

前几天在知乎上,刷到这么一个问题 鉴于有不少人看了我的blog给我私信一些职业规划相关的问题,讨论很多的就是担心自己年龄是否还适合转行。 于是决定静心下来码了一篇回答, 同时搬到博客园来供大家消遣。。。 --------------------------下面是原文-----...

2019-08-13 10:53:30 1886 0

原创 Spring IoC源码解析之getBean

一、实例化所有的非懒加载的单实例Bean   从org.springframework.context.support.AbstractApplicationContext#refresh方法开发,进入到实例化所有的非懒加载的单实例Bean的finishBeanFactoryInitializa...

2019-08-11 12:19:44 165 0

原创 Java反射的深入浅出

刚开始接触反射这个概念,感觉反射这个机制很复杂很难懂,所以在这篇文章中对java的反射机制以个人的理解总结归纳。 1. 什么是反射? 什么是反射?在官方文档中是这样说的: Reflection is commonly used by programs which require the a...

2019-08-07 16:31:30 385 0

原创 我在北京已经几年了

正文 2015年4月6日,我买了一张硬座来北京面试实习。我提前预约了。在我来之前,我采访了智联海头的四个人。当我预约时,我直接来了。下车后,我的高中同学来到火车站,提前为我订了一个旅馆。非常感谢他。面试结束后,我决定去一家初创公司做数据分析。我老板愿意给我5500的薪水。我很高兴。我想我可以在北...

2019-08-06 12:50:53 596 5

原创 图解Redis数据结构篇之压缩列表

前言# 同整数集合一样压缩列表也不是基础数据结构,而是 Redis 自己设计的一种数据存储结构。它有点儿类似数组,通过一片连续的内存空间,来存储数据。不过,它跟数组不同的一点是,它允许存储的数据大小不同。 一、压缩列表# 听到“压缩”两个字,直观的反应就是节省内存。之所以说这种存储结构节省内...

2019-08-06 08:52:44 144 0

转载 Java学习路线图(如何快速学Java)

如何快速学Java 这里我以Java EE(Jakarta EE)/Java Web的经验来说哦。(都把你们看做是零基础入门的了) 学习Java EE(Jakarta EE)总体来说会有以下三大模块: Java 数据库 Web前端 在我看来,无论学习什么技术都好,在学习该项技...

2019-08-04 16:53:34 868 1

原创 Java开发环境搭建超全详解

在项目产品开发中,开发环境搭建是软件开发的首要阶段,也是必须阶段,只有开发环境搭建好了,方可进行开发,良好的开发环境搭建,为后续的开发工作带来极大便利。 对于大公司来说,软件开发环境搭建工作一般是由运维来做,然而,对于小公司来说,这个工作就交给开发人员来做了,如开发经理。不管这个工作是交给...

2019-08-01 10:20:11 4865 12

原创 数据库如何应对保障大促活动

当前,随着电商节日的增多(6.18、双十一、双十二)、平台拉新趋于频繁,大促活动也越来越普遍。作为一个电商平台,每年都会有一次,甚至几次的流量“大考”。数据库作为系统的重要节点,其稳定性和性能格外重要,数据库的全力保障是一个大的挑战。电商大促,这场没有硝烟的战争很多人已有体会,在此不再赘述。现在,...

2019-07-31 17:42:53 287 0

原创 跟大家聊聊计算机实验室的脱坑经历

前文已经说过,你可以提前通过学长学姐咨询实验室的情况,来选择自己心仪的实验室,避免进入自己不喜欢的实验室。那么如果已经不小心进入到了自己不喜欢的实验室怎么办,这里提供一些有用的建议。 1.离开你所在的项目组或者离开你所在的实验室 对,你没看错,就是离开。很多人可能会有疑问,我都已经进来了,怎么...

2019-07-31 09:12:06 774 0

原创 性能优化之关于像素管道及优化

像素管道,这个和我们写代码息息相关的东西,我估计很多人都不太清楚它是个什么,网上也有几篇文章关于它的内容,但是不是那么尽如人意,那么我就详细说说这个东西,以及如何优化它。 关于动画加载与人们的反应 一个流畅的动画关乎用户体验(留存) 延迟 用户反应 0 - 16 毫秒 大部...

2019-07-30 15:53:31 458 0

原创 从一次线下读书会获得的收获

读了多少书?怎么读书? ——请问大家最近读书了吗?一年大概读了多少本书。 有超过20本,超过30本,超过50本吗? 在7月14日由长沙互联网活动基地和长沙.NET技术社区组织的小型社区活动,《开发者爱读书•线下读书会》上,长沙.NET技术社区的专家、资深Java开发者、架构师郭德强问了大...

2019-07-30 09:04:19 301 0

原创 Java面试题及答案汇总(一)

Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所...

2019-07-29 09:35:15 802 0

原创 Java中的几种线程池详解

Attention 但是在多人合作或者是一些部署上线的项目里,是不允许去使用这种方法的,因为它是有性能隐患的。 Executors在创建线程池的时候,用的是 new LinkedBlockingQueue (),它这个队列本身是无边界的,但是线程是固定数量的。这就意味着,在程序运行的过程中,最...

2019-07-28 15:31:14 235 0

原创 JVM内存模型详解

什么是JVM内存区域分区 事实上,这个问题很简单。当JVM运行我们编写的代码时,它必须使用多个内存空间、不同的内存空间来放置不同的数据,然后与我们编写的代码流协作,这样我们的系统才能运行。 例如,我们现在知道JVM将类加载到内存中以进行后续操作。所以我问你,这些类在被加载到内存之后会去哪里?你...

2019-07-28 13:55:16 261 0

原创 阅读《代码整洁之道》总结

很早就阅读过《代码整洁之道》(英文版Clean Code),当时博主是个青涩的菜鸟,正在为团队创造着混乱的代码。多年的工作中,屡次被别人的代码坑的苦不堪言,回想起当年我留下的代码,肯定也坑害了后来的同僚。当阅读JDK源码或者其他优秀开源工程时,叹服作者代码构建之精良,他们都有共同的特点:精确的变量...

2019-07-28 13:31:56 259 0

原创 【BAT面试题系列】面试官:“你了解Java线程池吗?”

前言 掌握线程池是后端程序员的基本要求,相信大家求职面试过程中,几乎都会被问到有关于线程池的问题。我在网上搜集了几道经典的线程池面试题,并以此为切入点,谈谈我对线程池的理解。如果有哪里理解不正确,非常希望大家指出,接下来大家一起分析学习吧。 经典面试题 面试问题1:Java的线程池说一下,各...

2019-07-21 15:15:02 461 0

原创 Java面试题及答案2019版(上)

1、面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。 继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父...

2019-07-15 16:25:48 71185 18

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