![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《Java 语言篇》
文章平均质量分 91
主要以Java编程语言为主,从基础、数据结构、算法到并发、多线程编程等。
程序大视界
程序大视界 【CSDN认证博客专家】 【阿里云认证专家博主】 【腾讯云开发者签约作者】 全栈开发工程师,高级后端开发工程师,超过8年开发经验。擅长Java开发、分布式、微服务架构,从0到1参与和设计支付系统,有过千万级pv、亿级流量电商行业系统设计和开发经验,欢迎各位多交流!
展开
-
《面试系列篇》——Java这些最基础的知识,你还记得多少?
Java这些基础知识你还记得吗?原创 2022-10-31 23:04:15 · 1891 阅读 · 7 评论 -
《面试系列篇》——面向对象知识详解
面向对象的基本知识详解原创 2022-10-29 22:08:49 · 168 阅读 · 0 评论 -
Redis使用RedisTemplate模板类的常用操作
一、前言Redis是一个NoSQL(非关系型数据库)数据库之一,key-value存储系统或者说是一个缓存键值对数据库,具有如下特性:基于内存运行,性能高效 支持分布式,理论上可以无限扩展 key-value存储系统 开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API主要应用场景包括:缓存系统、计数器、消息队列系统、排行榜、社交网络和实时系统、分布式锁和发布/订阅消息等。而在程序中,对Redis的常用操作有原创 2020-10-11 15:47:15 · 2040 阅读 · 4 评论 -
工具类篇【一】String字符串
前言String是Java编程中最常使用的数据类型之一,或者说是java.lang包中的最常使用的元素之一,String 字符串既能作为基本数据类型存储在数据库中,又能作为大文本结构展示在前端,还能方便得跟其他数据类型(如:int、long、Double、BigDecimal等)快速转换。也能把Date转换为各种各样的格式。一、常用方法截取字符串方法str原字符串val从字符串的下标位置开始截取 /** * @author * @DateTime 2017年12月5原创 2020-09-23 20:35:11 · 1925 阅读 · 4 评论 -
工具类篇【二】BigDecimal计算
前言BigDecimal作为Java中常用的金额计算类,由于金额计算涉及小数点甚至四舍五入计数法等。其他数据类型如:Double、Float、Integer、Long等都不能作为一个企业的标准金额计算工具。经常有人用除BigDecimal以外的其他类型计算金额,导致计算结果有误,要么少了小数点,要么多了小数点,要么报错等等。因此,作为一名合格的程序员,强调用BigDecimal作为基本金额计算类显得尤为重要。一、BigDecimal、Double、String互转入参为Double,返回小数点后原创 2020-09-23 20:22:12 · 1441 阅读 · 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 · 888 阅读 · 2 评论 -
源码分析【三】ArrayList与LinkedList的比较
前言在做ArrayList与LinkedList的比较之前,必须先对这两个数据结构有一定的学习和掌握,之前2篇文章分别讲了ArrayList与LinkedList的介绍和源码讲解,感兴趣的伙伴可以戳下方链接分别查阅:1、ArrayList源码浅析2、LinkedList源码分析一、数据结构CS专业的学生都学过一门课程叫:数据结构,里面专门讲了数据结构的原理知识和算法等。常见数据结构分为3大种:线性结构、树结构、图结构。线性结构:数组(静态数组、动态数组)、线性表、链表(单向链表、双向原创 2020-09-05 22:28:43 · 378 阅读 · 0 评论 -
JDK1.8的几个简单Lambda表达式
前言jdk1.8给广大程序员们带来了非常大的编程便利,不仅大大简化了代码,自带的一些语法更是让人眼花缭乱,提升程序性能。其中最常见有如下几种:lambda表达式、方法引用和构造器引用、Stream语法。下面一一简单讲解:1.lambda表达式1.1排序:给itemList中merchantBatchSerialNo按照升序排序,其中字段类型属性为int、Integer、long等有...原创 2020-04-28 20:45:01 · 1235 阅读 · 0 评论 -
面试常被问的25个Spring知识点
关注公众号:nick_coding1024 150道Java面试基础题(含答案)25个经典的Spring面试问答本人收集了一些在大家在面试时被经常问及的关于Spring的主要问题,这些问题有可能在你下次面试时就会被问到。对于本文中未提...原创 2019-04-25 16:58:21 · 915 阅读 · 0 评论 -
150道Java面试基础题(含答案)
关注公众号:nick_coding1024 面试常被问的25个Spring知识点1)Java 中能创建 volatile 数组吗?能,Java 中可以创建 volatile 类型数组,不过只是一个指向数组的引用,而不是整个数组。我的意思是...原创 2019-04-25 16:34:29 · 3429 阅读 · 0 评论 -
2019金三银四已过,送你一篇Java面经
面试总结了一些Java基础常考知识点: 150道Java面试基础题(含答案)Spring常考技术知识点: 面试中常被问到的一些Spring原理及知识前言作为技术开发人员,跳槽是一种...原创 2019-04-26 11:42:06 · 432 阅读 · 0 评论 -
有温度的Java学习交流社区
2019互联网寒冬之际,当一线互联网大厂掀起裁员风波的时候,你是否会质疑曾经那个让无数人向往的高薪行业是否还值得继续让人追捧?当你学习了几年的技术知识,正满怀信心的朝心仪公司投简历等待着面试的机会,甚至是你过五关斩六将通过面试拿到offer后又被HR告知取消offer,你是否会感到人生怎会如此遭遇?当你辛辛苦苦拼了命几年十几年甚至几十年如一日的,服务了这么久的公司有朝一日会因为各种原因,通...原创 2019-04-12 21:50:25 · 765 阅读 · 0 评论 -
Java值传递和引用传递
概念值传递:(形式参数类型是基本数据类型):方法调用时,实际参数把它的值传递给对应的形式参数,形式参数只是用实际参数的值初始化自己的存储单元内容,是两个不同的存储单元,所以方法执行中形式参数值的改变不影响实际参数的值。引用传递:(形式参数类型是引用数据类型参数):也称为传地址。方法调用时,实际参数是对象(或数组),这时实际参数与形式参数指向同一个地址,在方法执行中,对形式参数的操作实际上就...原创 2019-04-09 10:37:50 · 331 阅读 · 0 评论 -
Oracle数据库PL/SQL中执行存储过程
有时生产线上问题,或者调试需要手动在pl/sql中执行存储过程,但一般不建议这么做(影响线上交易)。一、直接测试执行在pl/sql中找到对应需要测试的存储过程,左边菜单栏:Procedures下。鼠标右击—>测试,输入对应参数(输出参数不需)点击“开始调试”。找到对应存储过程输入好所有参数二、pl/sql命令行执行有返回参数的命令行中输入如下:SQL&...原创 2019-04-02 09:09:25 · 7214 阅读 · 0 评论 -
关于interface(接口继承)extends(接口)interface的问题
前序一直以来,我们学习java就被灌输了一个观点:类和抽象类(class)只能被继承(extends),接口(interface)只能被实现(implements)。有个概念我们一直没有弄懂的是:类(class)可以实现接口(interface),但是接口(interface)跟接口(interface)之间呢?类可以继承类和实现接口,如下:public class A...原创 2019-03-25 20:06:27 · 18057 阅读 · 2 评论 -
Redis的三种模式:主从、哨兵、集群
前言Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。普遍用于目前主流的分布式架构系统中,关于redis的详细介绍,见另一篇文章: redis的安装与介绍redis的多机数据库实现,主要分为以下三种:Re...原创 2019-03-13 12:57:10 · 945 阅读 · 0 评论 -
极光推送JPush使用Java SDK开发
一、极光推送是什么? 极光推送消息介绍上面是极光官方文档的介绍说明,作为初次使用者。如果对于官方文档解释看不明白的,可以多去网上找一些通俗易懂的博客文章之类的,然后再去看官方文档,最后再按需要进行集成调试和开发等。简单来说:极光推送是一个免费的开源的手机APP消息推送平台(类似帅哥美女们常用的购物APP...原创 2019-01-15 16:14:27 · 3212 阅读 · 2 评论 -
HashMap都在用,原理你真的了解吗?
1、HashMap基本源码实现以jdk1.8为例,hashMap是继承了AbstractMap抽象类,而AbstractMap抽象类是实现了Map接口的。Map是jdk中util工具集合系列包中基本的数据结构,如下所示:HashMap继承AbstractMap,AbstractMap实现Map接口HashMap继承AbstractMap抽象类:public class Hash...原创 2019-01-10 23:12:31 · 1305 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-04-01 18:53:24 · 599 阅读 · 0 评论 -
常见互联网公司面试题总结(Java)
目录 一、YY欢聚时代二、酷狗音乐(kugou)三、唯品会四、PPmoney万惠集团五、荔枝FM六.阿里九游(UC)总结了一下面试过的广州的一些互联网公司,在广州也就那么几家好的公司,手指头能数出来,希望给大家一些帮助:一、YY欢聚时代1.JVM的基本结构和原理2.类的强引用,弱引用,软引用3.hashMap的存储原理(底层数据结构),...原创 2018-08-28 20:50:00 · 2832 阅读 · 1 评论 -
JBoss应用服务器清理缓存
jboss跟tomcat一样,都是javaWeb应用服务器,或者说JavaWeb容器。当然,二者也有所区别:tomcat是JSP/Servlet容器jboss是JEE容器,JEE包括JSP/Servlet,JMS,EJB,JAX-WS,JAX-RS,CDI等等.tomcat是完全开源,开源社区维护产品更新jboss有开源和企业化两个版本,企业化被Red Hat支持,一...原创 2018-08-30 13:52:06 · 2630 阅读 · 0 评论 -
Https协议报错:com.sun.net.ssl.internal.www.protocol.https.HttpsURLConnectionOldImpl解决方法
所用应用服务器:JBoss服务器jdk环境:jdk1.6通信协议:http/https场景:本地项目对接外部项目(接口编程),尤其银行对接等;使用外部系统提供的sdk,sdk中封装好了http通信协议等。使用sdk进行调用正常,当导入本地项目对接时,调用请求出现报错:sun.net.www.protocol.http.HttpURLConnection cannot be c...原创 2018-08-30 14:08:11 · 5404 阅读 · 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 · 1251 阅读 · 0 评论 -
HSSFWorkbook(poi)导出excel表格
本文与另一篇文章关联:csv格式导出excel报表其中:String accountDate 入参(日期)AccountInfoEntityResp accountInfoEntityResp 导出的xml报文内容(转换成obj对象)xml报文解析见另一篇:xml报文解析HttpServletRequest request HttpServletRespo...原创 2018-10-17 16:42:20 · 3763 阅读 · 0 评论 -
Dom4j解析xml复杂多节点报文
XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。XML的解析方式分为四种: 1、DOM解析; 2、SAX解析; 3、JDOM解析; 4、DOM4J解析。其中前两种属于基础方法,是官方提供的平台无关的解析方式;后两种属于扩展方...原创 2018-10-17 16:53:51 · 2496 阅读 · 0 评论 -
Maven项目本地公共common包缓存问题
背景 : Spring Cloud + Maven,Maven仓库在本地开发。开发工具:intellij idea项目架构:SpringBoot微服务分布式架构ps:STS缓存更严重(MyEclipse的Spring插件版是:STS)越来越多的Web项目采用Maven构建版本管理和控制以及第三方资源库文件的的工具,主流的如:SSM架构,SpringCloud+Maven等。...原创 2018-10-22 15:37:43 · 3222 阅读 · 0 评论 -
win7卸载JDK出现windows Installer程序包有问题
操作系统:Windows 7 (64位)jdk版本:jdk1.6卸载的时候,提示:windows Installer程序包有问题,....无法卸载。解决办法:1、删掉jdk安装文件和注册表信息找到jdk1.6安装的目录,删除掉所有jdk1.6安装目录下的文件夹和文件(jdk和jre) 找到注册表,把所有与jdk1.6有关的注册信息都删除掉。注意:需要一项一项手动删除,不能漏...原创 2018-09-04 18:11:29 · 2197 阅读 · 0 评论 -
Java中的强引用和弱引用
一、强引用如下是强引用的经典形式:object o = new object();特点:(1)创建一个对象,并将对这个对象的引用赋值给o,这样就是强引用了(2)当内存空间不足的时候,虚拟机宁愿抛出错误,也不愿意回收内存(3)可以使用 o = null;的方式来弱化引用(4)如果一个对象,没有一个引用来指向他,那么这个引用可以被垃圾回收二、软引用softRefer...原创 2018-07-19 14:36:14 · 1771 阅读 · 0 评论 -
SpringCloud+MyBatis分页处理(前后端分离)
分页处理,这是做JavaWeb项目中常见的场景。背景:系统架构:SpringCloud分布式 持久层:MyBatis 前端:前后分离vue.js/bootstrap等.后台提供restful api 接口,前端访问后端接口展示数据。2种方式提供分页处理方案:一、直接MyBatis数据库进行分页controller接口@ApiImplicitParams({ ...原创 2018-10-31 15:16:39 · 4582 阅读 · 1 评论 -
KeyStore加载PublicKey/PrivateKey(公/私钥)证书
开发过程中,对于签名和验签的问题,相信大家没少见过。很多时候,我们只是拿来就用,根本没留意里面的逻辑;要么就是项目现有的签名和验签逻辑,要么就是拿demo里面的代码然后集成到项目中去,直接使用。很少有自己去写一套签名和验签的代码逻辑,没有完全理解透彻之前,总觉得签名和验签神神秘秘高深的样子;当你读透了里面的代码逻辑之后,发现整个相当简单,目前几个项目中都有签名和验签的公私钥证书,今天有...原创 2018-11-20 14:59:41 · 7719 阅读 · 0 评论 -
FeignClient注解及参数问题---SpringCloud微服务
一、前言在用分布式架构SpringBoot的SpringCloud技术开发过程中,FeignClient 是一个常用的注解,且很重要的功能。简单理解就是,分布式架构服务之间,各子模块系统内部通信的核心。一般在一个系统调用另一个系统的接口时使用,如下:注解@FeignClient("XXX")public interface XX{ ....}该注解一般创建在 i...原创 2018-11-22 17:14:33 · 20668 阅读 · 6 评论 -
工具类篇【五】Random随机生成指定位数字符串
废话少说,直接上代码:拿走前点个赞可好? //随机生成指定位数的字符串 public static String getRandomString(int length){ if(length == null || length <=0){ return null; } String base = "ab...原创 2018-12-04 16:38:25 · 3460 阅读 · 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 · 15845 阅读 · 7 评论 -
菜鸟刚学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 · 2167 阅读 · 2 评论