《Java基础 》
文章平均质量分 92
主要介绍Java语言的基础,以jdk源码,基本数据类型,面向对象特性等。适合小白和入门的新手童鞋!
程序大视界
程序大视界 【CSDN认证博客专家】 【阿里云认证专家博主】 【腾讯云开发者签约作者】 全栈开发工程师,高级后端开发工程师,超过8年开发经验。擅长Java开发、分布式、微服务架构,从0到1参与和设计支付系统,有过千万级pv、亿级流量电商行业系统设计和开发经验,欢迎各位多交流!
展开
-
LeetCode算法之----回溯
回溯算法原创 2023-01-07 22:35:55 · 1093 阅读 · 1 评论 -
负载均衡有哪些?
这些负载均衡策略你知道吗?原创 2022-11-23 19:43:32 · 3635 阅读 · 0 评论 -
美团面试官喜欢问的——11种常用的设计模式
Java常用的11种设计模式,你都会吗?原创 2022-11-14 18:51:37 · 2066 阅读 · 0 评论 -
Java常见的设计模式
Java中这几种常见的设计模式,一定要掌握原创 2018-07-18 22:53:29 · 7383 阅读 · 1 评论 -
《面试系列篇》——这些并发编程知识,一定要学会
多线程高并发编程知识,看这一篇就够了原创 2022-11-05 19:50:21 · 1069 阅读 · 0 评论 -
《面试系列篇》——Spring架构浅析
Spring的核心架构,看这一篇就够了原创 2022-11-02 23:58:17 · 662 阅读 · 0 评论 -
《面试系列篇》——快速排序详解
快速排序的递归算法了解一下原创 2022-11-01 23:19:15 · 668 阅读 · 0 评论 -
《面试系列篇》——Java这些最基础的知识,你还记得多少?
Java这些基础知识你还记得吗?原创 2022-10-31 23:04:15 · 1973 阅读 · 7 评论 -
《面试系列篇》——面向对象知识详解
面向对象的基本知识详解原创 2022-10-29 22:08:49 · 288 阅读 · 0 评论 -
BAT面试官问,这些MySQL基础知识你会吗?
面试时,这些MySQL基本知识你能回答的出来吗?原创 2022-10-26 18:55:42 · 3570 阅读 · 0 评论 -
唯品会开源分布式作业调度平台Saturn
唯品会开源分布式作业调度平台原创 2020-07-12 18:01:29 · 3060 阅读 · 0 评论 -
代码整洁之道
谈谈代码整洁之道、重构原创 2022-07-21 20:35:45 · 5324 阅读 · 0 评论 -
Not in GZIP format异常
背景开发中解压缩和压缩文件的处理是很常遇到的情况。这几天做一个对账的功能的时候,遇到过一个解压gzip压缩文件,报错:Not in GZIP format 的异常问题。组内咨询了其他同事,网上找遍了各种解决方案,最后因为对方上传压缩文件的时候,把原始zip格式改为gzip格式了。导致怎么解压都是没法解决,把问题解决过程重新梳理一遍,也供同样遇到此类问题的你们一个参考。过程简单把我们自己解压方认为是A,FTP服务器称为是B,对方上传文件方称为C。C从第三方平台下载的原始压缩文件格式为:ZIP格原创 2020-12-12 16:52:15 · 21656 阅读 · 0 评论 -
工具类篇【一】String字符串
前言String是Java编程中最常使用的数据类型之一,或者说是java.lang包中的最常使用的元素之一,String 字符串既能作为基本数据类型存储在数据库中,又能作为大文本结构展示在前端,还能方便得跟其他数据类型(如:int、long、Double、BigDecimal等)快速转换。也能把Date转换为各种各样的格式。一、常用方法截取字符串方法str原字符串val从字符串的下标位置开始截取 /** * @author * @DateTime 2017年12月5原创 2020-09-23 20:35:11 · 1934 阅读 · 4 评论 -
工具类篇【二】BigDecimal计算
前言BigDecimal作为Java中常用的金额计算类,由于金额计算涉及小数点甚至四舍五入计数法等。其他数据类型如:Double、Float、Integer、Long等都不能作为一个企业的标准金额计算工具。经常有人用除BigDecimal以外的其他类型计算金额,导致计算结果有误,要么少了小数点,要么多了小数点,要么报错等等。因此,作为一名合格的程序员,强调用BigDecimal作为基本金额计算类显得尤为重要。一、BigDecimal、Double、String互转入参为Double,返回小数点后原创 2020-09-23 20:22:12 · 1484 阅读 · 0 评论 -
工具类篇【三】日期Date转换
前言日期Date是编程中最常使用的util类之一,毫无疑问日期就是代表时间,数据的创建时间、更新时间、交易时间、记录时间等;是一个尤为重要的字段和属性。通常在前端展示、数据库存储、数据传输和程序中转换,格式也有多种:Date、String、Long;操作也分为时间格式转换、大小(先后)比较。一、格式转换大全 public static final String TIME_TEMPLATE = "yyyy-MM-dd HH:mm:ss"; public static final Stri原创 2020-09-22 20:11:53 · 955 阅读 · 2 评论 -
工具类篇【四】日志脱敏
前言随着科技和信息化时代的加速发展,尤其在5G和大数据时代的今天,信息安全也逐渐成为人民更为关注的事情。为用户和会员保护个人隐私信息显得尤为重要。对于一些敏感数据的展示和存储,公司安全部门经常要求加密或脱敏处理。对敏感数据进行MD5加密存储,前端和日志脱敏处理。如:身份证、手机号、姓名、地址等,尤其是对敏感数据安全性要求较高行业和公司;电商、通信、金融等行业。一、logback工具包今天主要讲述后台系统对于敏感数据进行日志脱敏处理,拿来即用的工具实现类。利用logback工具包的日志脱敏处理,非原创 2020-09-17 20:29:28 · 1521 阅读 · 0 评论 -
9大排序算法,你了解多少?
0. 前言大家好,我是多选参数的程序锅,一个正在捣鼓操作系统、学数据结构和算法以及 Java 的失业人员。数据结构和算法我已经学了有一段日子了,最近也开始在刷 LeetCode 上面的题目了,但是自己感觉在算法上还是 0 ,还得猛补啊。今天这篇基于之前的 8 大排序算法基础之上,增加一个堆排序,也就是这么 9 个排序算法:冒泡排序、插入排序、选择排序、归并排序、快速排序、堆排序、桶排序、计数排序、基数排序。它们对应的时间复杂度如下所示:排序算法 时间复杂度 是否基于比较 冒泡、插转载 2020-09-14 19:56:36 · 719 阅读 · 0 评论 -
拿到企鹅offer的学弟来报喜了!
面试BAT互联网大厂不知道复习什么?看这一篇就够了!原创 2020-10-06 11:01:40 · 8434 阅读 · 36 评论 -
源码分析【三】ArrayList与LinkedList的比较
前言在做ArrayList与LinkedList的比较之前,必须先对这两个数据结构有一定的学习和掌握,之前2篇文章分别讲了ArrayList与LinkedList的介绍和源码讲解,感兴趣的伙伴可以戳下方链接分别查阅:1、ArrayList源码浅析2、LinkedList源码分析一、数据结构CS专业的学生都学过一门课程叫:数据结构,里面专门讲了数据结构的原理知识和算法等。常见数据结构分为3大种:线性结构、树结构、图结构。线性结构:数组(静态数组、动态数组)、线性表、链表(单向链表、双向原创 2020-09-05 22:28:43 · 403 阅读 · 0 评论 -
源码分析【二】ArrayList数组
Java中List是一个必须要掌握的基础知识,List是一个接口,实现List接口的基础类有很多,其中最具有代表性的两个:ArrayList和LinkedList。1、变量ArrayList是一个底层基于数组实现动态大小扩容的数据结构,快速访问、可复制、序列化的。继承自 AbstractList,实现了 List 接口。写代码时,我们经常用到这个数据结构来做大数据量的访问和(程序)缓存存储等。 /** * Default initial capacity. * 默.原创 2020-08-30 21:22:24 · 627 阅读 · 0 评论 -
用Lombok甩掉get()和set()
前言代码里面,见到的最多的就是实体Dao(Domain)了。这里的实体主要分为2种,一种是数据库访问层的实体Domain,直接用来定义某个数据库表的实体,里面定义的每个字段都跟数据库表中的每个字段一一对应。也是系统跟数据交互而用来存储数据的“介质”。另一种是代码里为了方便,把多个参数或变量定义为一个实体,一般用来:方法传参、接口对外对象、设计模式等。一、传统set和get方法既然是实体,里面少不了要定义变量,而实体变量的值的设置和获取,由set()和get()方法实现。标准set和get方法定义原创 2020-08-22 18:22:39 · 1770 阅读 · 6 评论 -
源码分析【一】LinkedList链表结构
Java中List是一个必须要掌握的基础知识,List是一个接口,实现List接口的基础类有很多,其中最具有代表性的两个:ArrayList和LinkedList。1、变量今天主要讲解一下LinkedList的基本数据接口和源码分析。LinkedList的底层则是链表的结构,它可以进行高效的插入和移除的操作,基于一个双向链表的结构。源码变量定义可以看到: transient int size = 0; /** * Pointer to first node..原创 2020-08-19 21:25:38 · 477 阅读 · 2 评论 -
工具类篇【六】克隆对象的2种常用方法
简介Java里面对象克隆是经常用到的方法,其底层原理是利用java的反射(Reflection)机制。利用克隆编程,会大大简化我们的工作量和提升效率。1、apache包下的beanutils工具类:org.apache.commons.beanutils public static void copyProperties(Object dest, Object orig) throws IllegalAccessException, InvocationTargetExcepti原创 2020-08-18 21:13:11 · 604 阅读 · 0 评论 -
mysql慢查询
慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不...原创 2018-07-08 22:53:41 · 341 阅读 · 0 评论 -
idea中Maven基本介绍
前言Maven是一种常见的项目打包和构建工具,早起有Ant,后来者有Gradle,见另一篇文章:Maven与Gradle的区别1、idea中使用maven在初始创建项目或导入项目时,如果是maven项目,一般在项目根目录下会有pom.xml文件。需要先设置好项目依赖的本地maven仓库,而本地maven地址指向是在安装maven时设置的。一般是公司项目组的远程maven仓库。话不多...原创 2020-04-29 20:27:22 · 11540 阅读 · 2 评论 -
Maven与Gradle的区别
前言Java世界中主要有三大构建工具:Ant、Maven和Gradle。经过几年的发展,Ant几乎销声匿迹、Maven也日薄西山,而Gradle的发展则如日中天。笔者有幸见证了Maven的没落和Gradle的兴起。Maven的主要功能主要分为5点,分别是依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。Maven与Gradle在使用中各有千秋,根据使用场景择优用之。1. ......原创 2020-04-27 20:28:10 · 10278 阅读 · 1 评论 -
10分钟Redis快速入门
Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。一、简介这是redis中文官网的介绍。 它支持多种类型的数据结构,如字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets)与范围查询,bitmaps,hyperloglogs和地理空间(geosp...原创 2018-12-07 15:32:31 · 413 阅读 · 0 评论 -
别再用大小比较Date(时间)了
java中时间的大小比较:准确的概念是时间的前后比较,在java中date并非大小之分。java.util工具类的date原生提供了两个date比较的方法:before after Date date1; //日期1 Date date2; //日期21、 date1.before(date2); //date1小于date2(date1比date2早)2...原创 2018-12-04 17:03:27 · 15944 阅读 · 7 评论 -
工具类篇【五】Random随机生成指定位数字符串
废话少说,直接上代码:拿走前点个赞可好? //随机生成指定位数的字符串 public static String getRandomString(int length){ if(length == null || length <=0){ return null; } String base = "ab...原创 2018-12-04 16:38:25 · 3475 阅读 · 0 评论 -
JSP页面+Servlet乱码问题解决方法
jsp产生乱码,从以下4个完整流程方面找原因:前端jsp传值设置编码格式 后台servlet接收请求参数request设置编码格式 后台servlet返回参数response设置编码格式 前端jsp接收后台返回参数1、对于前端jsp传值设置编码格式:<%@ page language="java" contentType="text/html; charset=UTF-8"...原创 2018-11-20 09:27:17 · 976 阅读 · 2 评论 -
KeyStore加载PublicKey/PrivateKey(公/私钥)证书
开发过程中,对于签名和验签的问题,相信大家没少见过。很多时候,我们只是拿来就用,根本没留意里面的逻辑;要么就是项目现有的签名和验签逻辑,要么就是拿demo里面的代码然后集成到项目中去,直接使用。很少有自己去写一套签名和验签的代码逻辑,没有完全理解透彻之前,总觉得签名和验签神神秘秘高深的样子;当你读透了里面的代码逻辑之后,发现整个相当简单,目前几个项目中都有签名和验签的公私钥证书,今天有...原创 2018-11-20 14:59:41 · 7851 阅读 · 0 评论 -
Java中的强引用和弱引用
一、强引用如下是强引用的经典形式:object o = new object();特点:(1)创建一个对象,并将对这个对象的引用赋值给o,这样就是强引用了(2)当内存空间不足的时候,虚拟机宁愿抛出错误,也不愿意回收内存(3)可以使用 o = null;的方式来弱化引用(4)如果一个对象,没有一个引用来指向他,那么这个引用可以被垃圾回收二、软引用softRefer...原创 2018-07-19 14:36:14 · 1787 阅读 · 0 评论 -
SpringCloud把xml报文导出Excel(csv格式)文档
导出excel报表之类,相信有过1~2年开发经验的至少都做过了。但是大多应该都是传统的SSH或SSM架构,相对于在最近流行的SpringCloud分布式架构上做类似导出,可能经历不是那么多。 鄙人做过的导出excel报表,有2种方案:Poi原生的,jar类库 <dependency> <groupId>org.apache.poi</...原创 2018-10-17 16:28:29 · 1259 阅读 · 0 评论 -
HSSFWorkbook(poi)导出excel表格
本文与另一篇文章关联:csv格式导出excel报表其中:String accountDate 入参(日期)AccountInfoEntityResp accountInfoEntityResp 导出的xml报文内容(转换成obj对象)xml报文解析见另一篇:xml报文解析HttpServletRequest request HttpServletRespo...原创 2018-10-17 16:42:20 · 3776 阅读 · 0 评论 -
从入门到高级Java书籍推荐
Java编程必看书籍推荐原创 2020-08-16 14:16:40 · 81290 阅读 · 12 评论 -
myeclipse中新导入服务器项目报错问题
myeclipse中启动tomcat服务器和mysql数据库后,然后运行项目Run As——>myeclipse service applications之后系统报出如下错误!求助,急,谢谢!2014-3-10 23:15:40 org.apache.catalina.startup.Catalina stopServer严重: Catalina.stop:java.net...原创 2014-03-10 23:20:17 · 1280 阅读 · 0 评论 -
菜鸟刚学java ee使用myeclipse + jdk + tomcat开发时myeclipse中启动tomcat出错问题
很多java EE初学者会遇到各种各样问题,诸如jdk环境变量配置,以及tomcat环境配置和使用myeclipse时配置jdk+tomcat等。其中,我个人认为最难解决的最麻烦的是使用myeclipse开发java EE程序时,启动tomcat来发布web项目!注:我使用的工具版本是:myeclipse 8.5 jdk 1.6.0 tomcat 7.0.39 在配置好...原创 2013-08-05 17:11:15 · 2173 阅读 · 2 评论 -
面试常被问的25个Spring知识点
关注公众号:nick_coding1024 150道Java面试基础题(含答案)25个经典的Spring面试问答本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提...原创 2019-04-25 16:58:21 · 1286 阅读 · 0 评论 -
150道Java面试基础题(含答案)
关注公众号:nick_coding1024 面试常被问的25个Spring知识点1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是...原创 2019-04-25 16:34:29 · 3464 阅读 · 0 评论