自定义博客皮肤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干货!!!

  • 博客(263)
  • 资源 (2)
  • 论坛 (1)
  • 收藏
  • 关注

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

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~本套Java面试题大全,全的不能再全,哈哈~一、Java基础知识面试题1、Java概述①. 何为编程编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机

2020-11-25 11:55:31 303 3

原创 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构

前言本项目不仅仅是一个开发架构,而是努力打造一套从前端模板-基础框架-分布式架构-开源项目-持续集成-自动化部署-系统监测-无缝升级的全方位J2EE企业级开发解决方案。项目介绍基于Spring+SpringMVC+Mybatis分布式敏捷开发系统架构,提供整套公共微服务服务模块:内容管理、支付中心、用户管理(包括第三方)、微信平台、存储系统、配置中心、日志分析、任务和通知等,支持服务治理、监控和追踪,努力为中小型企业打造全方位J2EE企业级开发解决方案。组织结...

2020-11-02 10:14:33 286 2

原创 Java面试题目大汇总(附参考答案)

足足准备了长达3个月的面试,终于在上周拿到了阿里的offer!博主汇总整理了一份我面试之前看的一些Java面试题目,可以说是非常详细!分享给大家,希望对正在面试Java岗位的朋友有帮助哈~~(文末附参考答案)Java基础相关面试题目:JDK 和 JRE 有什么区别? == 和 equals 的区别是什么? 两个对象的 hashCode()相同,则 equals()也一定为 true,对吗? final 在 java 中有什么作用? java 中的 Math.round(-1.5)

2020-09-04 18:40:08 2062 4

原创 Java开发手册泰山版PDF下载

泰山版《Java开发手册》《Java开发手册》始于阿里内部规约,在全球Java开发者共同努力下,已成为业界普遍遵循的开发规范。手册涵盖编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程规约、设计规约七大维度。此次泰山版发布,将带来三大亮点:新增5条日期时间规约;新增2条表别名sql规约;新增统一错误码规约。下载地址:首先感谢阿里,在此我也分享给小伙伴们学习,下载地址如下:链接:https://pan.baidu.com/s/1YD4fIp6MnQSZjIAVMXwdIA.

2020-05-20 07:55:31 1542 4

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

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

2020-03-25 07:49:19 1029

原创 Java 并发之 Executor 框架

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

2020-02-23 17:50:40 757

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

1. Java异常体系Java异常体系设计的目的在于通过使用少量代码,实现大型、健壮、可靠程序。1.1. 异常处理异常处理是Java中唯一正式的错误报告机制。异常处理机制最大的好处就是降低错误代码处理的复杂程度。如果不使用异常,那么就必须在调用点检查特定的错误,并在程序的很多地方去处理它;如果使用异常,那么就不必在方法调用处进行检查,因为异常机制将保证能够捕获这个错误。因此...

2020-02-23 15:19:02 1453

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

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

2020-01-27 16:38:54 110566 37

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

第一部分:面试题本次分享我们将尝试回答以下问题:GC 是什么? 为什么要有 GC? 简单说一下java的垃圾回收机制。 JVM的常见垃圾回收算法有哪些? 为什么要使用分代回收机制? 如何判断一个对象是否存活? 如果对象的引用被置为 null,垃圾收集器是否会立即释放对象占用的内存?第二部分:深入原理好,让我们开始吧。还是那句话,如果时间不够可以直接拉到最后看答案。jav...

2019-12-10 00:09:27 2485

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

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

2019-12-09 14:56:56 1070

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

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

2019-12-04 08:59:40 523

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

概述&背景MySQL因为没有实现hashjoin而受到批评。最新的8.0.18版本带来了这一功能,令人欣慰。有时候我想知道为什么MySQL不支持hashjoin?我认为这可能是因为MySQL主要用于简单的OLTP场景,而且它广泛应用于Internet应用程序中,所以需求并不那么迫切。另一方面,这可能是因为以前完全依赖社区。毕竟MySQL的进化速度是有限的。甲骨文收购mysql后,mys...

2019-11-30 12:30:17 429

原创 String和StringBuffer的区别

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

2019-11-29 19:34:23 713

原创 int和Integer有什么区别?

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

2019-11-29 19:21:14 294

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

正则表达式在文本查询方面,不管是速度还是功能,都十分强大。虽然SQL Server数据库可以执行模糊查询(像like子句)和全文查询(Fulltext search),但是这两个子句只能查询简单的模式,无法应对复杂的查询需求。在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时...

2019-11-28 15:18:32 191

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

1、为什么使用消息队列?消息队列使用的场景和中间件有很多,但解决的核心问题主要是:异步、解耦、消峰填谷。2、消息队列的优缺点异步、解耦、消峰填谷这是消息队列最大的优点,除了这些消息队列还可以会解决一些我们特殊业务场景的问题。但是缺点主要在于系统的可用性、复杂性、一致性问题,引入消息队列后,需要考虑MQ的可用性,万一MQ崩溃了岂不是要爆炸?而且复杂性明显提高了,需要考虑一些消息队列的常见...

2019-11-27 15:48:36 9156 2

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

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

2019-11-26 11:59:06 327726 72

原创 Redis面试题汇总

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

2019-11-25 12:06:24 1091

原创 面向对象编程基础

  对象构成了一组数据结构及其处理方法。具有相同行为的对象被分类为类。内部细节被类的封装所隐藏。类的专门化和泛化是通过继承实现的,基于对象类型的动态赋值是通过多态实现的。。。。  程序是指令的集合:我们在程序中编写的语句在执行时变成一个或多个指令,然后由CPU执行。  为了简化程序设计,我们引入了函数的概念,将相对独立且经常重复使用的代码放入函数中,当这些函数需要使用时,我们只需要调用函数;如...

2019-11-24 15:42:42 226

原创 Java面试宝典(2020版)

一、Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 java...

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

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

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

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

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

一、封装1、概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。2、好处:只能通过规定的方法访问数据。 隐藏类的实例细节,方便修改和实现。3、封装的实现步骤     需要注意:对封装的属性不一定要通过get/set方法,其他方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。A、访问修饰...

2019-10-24 12:11:02 677

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

前言总结了JVM一些经典面试题,分享出我自己的解题思路,希望对大家有帮助,有哪里你觉得不正确的话,欢迎指出,后续有空会更新。1.什么情况下会发生栈内存溢出。思路: 描述栈定义,再描述为什么会溢出,再说明一下相关配置参数,OK的话可以给面试官手写是一个栈溢出的demo。我的答案:栈是线程私有的,他的生命周期与线程相同,每个方法在执行的时候都会创建一个栈帧,用来存储局部变量表,操作...

2019-08-26 11:35:04 96219 26

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

1、JavaGuide地址:Snailclimb/JavaGuide【Java学习+面试指南】 一份涵盖大部分Java程序员所需要掌握的核心知识。2、DoraemonKit地址:didi/DoraemonKit简称 "DoKit" 。一款功能齐全的客户端( iOS 、Android )研发助手,你值得拥有。3、advanced-java地址:doocs/advanced...

2019-08-15 17:10:08 3976

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

容器18. java 容器都有哪些?常用容器的图录:19. Collection 和 Collections 有什么区别?java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作...

2019-08-15 09:28:59 910

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

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

2019-08-14 17:25:40 1494

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

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

2019-08-13 10:53:30 2506

原创 Spring IoC源码解析之getBean

一、实例化所有的非懒加载的单实例Bean  从org.springframework.context.support.AbstractApplicationContext#refresh方法开发,进入到实例化所有的非懒加载的单实例Bean的finishBeanFactoryInitialization(beanFactory)的方法:protected void finishBean...

2019-08-11 12:19:44 225

原创 Java反射的深入浅出

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

2019-08-07 16:31:30 475

原创 我在北京已经几年了

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

2019-08-06 12:50:53 766 8

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

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

2019-08-06 08:52:44 176

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

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

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

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

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

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

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

当前,随着电商节日的增多(6.18、双十一、双十二)、平台拉新趋于频繁,大促活动也越来越普遍。作为一个电商平台,每年都会有一次,甚至几次的流量“大考”。数据库作为系统的重要节点,其稳定性和性能格外重要,数据库的全力保障是一个大的挑战。电商大促,这场没有硝烟的战争很多人已有体会,在此不再赘述。现在,我们直接切入主题--数据库如何积极应对,全力保障大促活动。这个题目分解为三个部分进行讲解: 第...

2019-07-31 17:42:53 382

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

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

2019-07-31 09:12:06 1082

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

像素管道,这个和我们写代码息息相关的东西,我估计很多人都不太清楚它是个什么,网上也有几篇文章关于它的内容,但是不是那么尽如人意,那么我就详细说说这个东西,以及如何优化它。关于动画加载与人们的反应一个流畅的动画关乎用户体验(留存)延迟 用户反应 0 - 16 毫秒 大部智能设备的刷新率都是 60HZ,也就是每帧 16 毫秒 (包括浏览器将新帧绘制到屏幕上所需的时...

2019-07-30 15:53:31 627

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

读了多少书?怎么读书? ——请问大家最近读书了吗?一年大概读了多少本书。 有超过20本,超过30本,超过50本吗?在7月14日由长沙互联网活动基地和长沙.NET技术社区组织的小型社区活动,《开发者爱读书•线下读书会》上,长沙.NET技术社区的专家、资深Java开发者、架构师郭德强问了大家这样一系列问题。读书会其实对我们技术社区来说,是一种比较独特的形式,作为一个以“不搭讪,不闲...

2019-07-30 09:04:19 353

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

Java 基础1. JDK 和 JRE 有什么区别?JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environment 的简称,java 运行环境,为 java 的运行提供了所需环境。具体来说 JDK 其实包含了 JRE,同时还包含了编译 java 源码的编译器 javac,...

2019-07-29 09:35:15 888

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

Attention但是在多人合作或者是一些部署上线的项目里,是不允许去使用这种方法的,因为它是有性能隐患的。Executors在创建线程池的时候,用的是 new LinkedBlockingQueue (),它这个队列本身是无边界的,但是线程是固定数量的。这就意味着,在程序运行的过程中,最多会有N个线程在处于活动状态。每次有新的任务来就会等待,直到有线程处于空闲状态。所有的线程都会处于线...

2019-07-28 15:31:14 353

原创 JVM内存模型详解

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

2019-07-28 13:55:16 343

Java学生成绩管理系统源码.txt

Java开发学生成绩管理系统,。

2019-12-13

阿里一位10年Java工程师分享的职业规划

阿里一位10年Java工程师分享的职业规划,让正在学习java的你不在迷茫!

2018-03-31

Java程序员-张凯的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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