
javaEE
文章平均质量分 84
Java精选
Java精选专注程序员推送一些Java开发知识,包括基础知识、各大流行框架(Mybatis、Spring、Spring Boot等)、大数据技术(Storm、Hadoop、MapReduce、Spark等)、数据库(Mysql、Oracle、NoSQL等)、算法与数据结构、面试专题、面试技巧经验、职业规划以及优质开源项目等。其中一部分由小编总结整理,另一部分来源于网络上优质资源,希望对大家的学习和工作有所帮助。
展开
-
JDK 17 正式发布,Oracle 官宣免费提供!“新版任你发,我用JDK 8”或成历史?
Oracle公司JDK 17正式发布,JDK 17属于长期支持(LTS)版本,也就是获得8年的技术支持,自2021年9月至2029年9月截止。JDK 17版本更新了很多比较实用的新特性,关于此版本的新特性,详细介绍和实际开发中的应用将在公众号Java精选中后续篇幅,这里就不在深入赘述了,对JDK 17新特性感兴趣的朋友可以留意后续文章的更新。特性介绍JDK 17更新了包括14个特性,具体如下表所示:Restore Always-StrictFloating-Point Semantics恢复始.原创 2021-09-16 00:53:22 · 858 阅读 · 0 评论 -
各大厂面试整理 20 道 Java 后端开发面试题总结
1、Zookeeper 中都有哪些服务器角色?LeaderLeader服务器是整个ZooKeeper集群工作机制中的核心,其主要工作有以下两个。1)事务请求的唯一调度和处理者,保证集群事务处理的顺序性。2)集群内部各服务器的调度者。Follower从角色名字上可以看出,Follower服务器是ZooKeeper集群状态的跟随者,其主要工作有以下三个。1)处理客户端的非事务请求,转发事务请求给Leader服务器。2)参与事务请求Proposal的投票。3)参与Leader选举投票。Obse原创 2021-09-07 14:20:00 · 703 阅读 · 0 评论 -
分享互联网2021年最新Java面试题汇总整理-附详细答案解析
>>号外:关注“Java精选”公众号,回复“面试资料”关键词,领取全套Java面试相关资料,包含简历制作、简历模版、java面试题、视频等资料。Java面试前需要做足各方面的准备工作,大家肯定都会浏览大量的面试题过往的面试经验,本人也不例外,通过浏览面试题和以往的面试经历,总结了初级、中级、高级的面试题以及面试技巧和面试经验,供大家学习讨论。面试题-021-030期【021期】面试官问:Java 中 new 一个对象的过程中发生了什么?这有些夸张了!【022期】ArrayLis原创 2021-06-13 01:03:57 · 2092 阅读 · 3 评论 -
Spring Boot从入门到精通(六)集成Redis实现缓存机制
来源:素文宅博客地址:https://blog.yoodb.com/yoodb/article/detail/1570Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个高性能的key-value内存数据库,通...原创 2020-03-05 20:38:00 · 395 阅读 · 0 评论 -
Spring Boot从入门到精通(四)连接MySQL数据库(附源码)
来源:素文宅博客转自:https://blog.yoodb.com/yoodb/article/detail/1565Spring Boot可以大大简化持久化任务,几乎不需要写SQL语句,本篇讲述一下Spring Boot连接MySQL数据库。在之前章节“Spring Boot从入门到精通(一)搭建第一个Spring Boot程序”中我们新建了一个Spring Boot应用程序,本章在原有的...原创 2020-02-25 12:07:25 · 639 阅读 · 0 评论 -
Spring Boot从入门到精通(二)配置GitHub并上传Maven项目
简单介绍一下GitHub,它是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub。GitHub于2008年4月10日正式上线,除了Git代码仓库托管及基本的Web管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。托管版本数量非常之多,其中不乏知名开源项目Ruby on Rails...原创 2020-02-20 11:23:37 · 534 阅读 · 0 评论 -
Spring Boot从入门到精通(一)搭建第一个Spring Boot程序
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot是基于Spring框架基础上推出的一个全新的...原创 2020-02-20 11:20:41 · 718 阅读 · 0 评论 -
互联网大厂Java面试题集—Spring boot面试题(一)
转载自:互联网大厂Java面试题集—Spring boot面试题(一)Spring Boot 需要独立的容器运行吗?可以不需要,内置了 Tomcat/ Jetty 等容器。通过pom.xml中导入依赖:<!--spring-boot-starter-web:代表web模块,在这个模块中含了许多JAR包,--><!--有spring相关的jar,内置tomcat服务...原创 2019-12-06 13:06:50 · 1041 阅读 · 0 评论 -
消息队列篇—详谈ActiveMQ消息队列模式的分析及使用
转载自:https://blog.yoodb.com/yoodb/article/detail/1501消息队列(Message Queue)是分布式系统中重要的组件,通用使用场景可以简单地描述为当不需要立即获得结果,但是并发量需控制时就需要使用消息队列。消息列队有两种消息模式,一种是点对点的消息模式,另一种是订阅\发布的消息模式。点对点的消息模式点对点的模式主要建立在一个队列上,当连接一个列队时...原创 2018-04-22 00:58:15 · 1039 阅读 · 0 评论 -
Spring Boot教程(十四)Spring Boot整合ActiveQ实现消息收发和订阅
来源:素文宅博客 https://blog.yoodb.com/yoodb/article/detail/1426 javax.jms.ConnectionFactory接口提供了一个标准的用于创建一个javax.jms.Connection的方法,javax.jms.Connection用于和JMS代理(broker)交互。尽管为了使用JMS,Spring需要一个ConnectionFactor原创 2017-11-13 15:09:39 · 1409 阅读 · 0 评论 -
Spring Boot 创建可执行jar
转载自素文宅博客 Spring boot教程:https://blog.yoodb.com/yoodb/article/detail/1419 创建一个完全自包含的可执行jar文件,该jar文件可以在生产环境运行。可执行jars(有时候被称为胖jars “fat jars”)是包含你的编译后的类和你的代码运行所需的依赖jar的存档。可执行jars在Java没有提供任何标准的加载内嵌jar文件(即j原创 2017-10-13 11:54:46 · 1492 阅读 · 0 评论 -
Spring Boot 简介
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。Spring Boot的特点创建独立的Spring应用程序直接嵌入Tom原创 2017-09-04 13:45:11 · 641 阅读 · 0 评论 -
Java基础篇Map集合类简介和使用原理剖析
转载自:http://blog.yoodb.com/yoodb/article/detail/1331 Java中最长用的集合类是List和Map,List的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。Map提供了一个更通用的元素存储方法,Map集合类用于存储元素对(称作“键”和“原创 2017-06-06 17:33:31 · 1935 阅读 · 0 评论 -
Java基础篇多线程概念和使用原理分析
转载自:http://blog.yoodb.com/yoodb/article/detail/1330 首选了解一下什么是进程和线程的概念? 进程是运行中的应用程序,每个进程都有自己独立的一块内存空间,一个进程可以启动多个线程,而线程是指进程中的一个执行流程,也可以理解成一段代码。比如java.exe进程中可以运行很多线程,线程永远属于某个进程,进程中的多个线程共享进程的内存。在Java中为了创原创 2017-06-06 17:32:00 · 1640 阅读 · 0 评论 -
CAS票据之ST与TGT过期策略详细说明
CAS的核心就是Ticket中文称之为票据,以及在Ticket之上的一系列逻辑处理操作。CAS的主要包含票据有TGT、ST、PGT、PGTIOU、PT,其中TGT、ST是CAS1.0协议中就有的票据,PGT、PGTIOU、PT是CAS2.0协议中新增的的票据,目前CAS最新版本已经到了CAS4.0。cas分为服务端和客户端两部分组成,下简单说一说CAS认证过程:1)用户访问cas-client转载 2016-11-16 09:26:55 · 25840 阅读 · 2 评论 -
CAS3.5.2 Server登录后返回用户信息详细解决方案
转载自:http://www.yoodb.com/article/display/1223 单点登录(Single Sign-On, 简称SSO)是目前比较流行的服务于企业业务整合的解决方案之一,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。大家在使用时CAS Server验证成功后会立即跳转到客户端,CAS Server默认只返回账号uid给客转载 2016-11-16 09:46:18 · 5161 阅读 · 0 评论 -
Java基于微信公众号接口实现授权登录源码及原理分析
微信公众号授权登录操作前提必须注册微信公众平台账号,注意的是订阅号不支持授权登录操作,因此对于个人开发者注册的订阅号是无法实现的,必须注册企业号的微信平台账号而具体注册流程就不详细介绍了,有什么疑问可去微信公众号平台查看具体的文档。接下来讲述一下具体的微信授权登录流程,打开微信开发文档官网(https://mp.weixin.qq.com/wiki),“微信网页开发”中找到“微信网页授权”,其中详细原创 2017-05-22 11:17:44 · 17458 阅读 · 3 评论 -
Java调用cmd命令行并返回执行结果
命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在windows环境下,命令行程序为cmd.exe,是一个32位的命令行程序,微软Windows系统基于Windows上的命令解释程序,类似于微软的DOS操作系统。输入一些命令,cmd.exe可以执行,比如输入shutdown -s就会在30秒后关机。总之,它非常有用。打开方法:开始-所有程序-附件 或 开始-寻找-输入:cmd/cmd.e原创 2017-02-18 09:58:36 · 10902 阅读 · 2 评论 -
spring源码剖析之Spring Security安全框架
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为原创 2016-12-19 09:40:20 · 2270 阅读 · 2 评论 -
CAS集群部署基于Redis缓存配置详细方案
CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS集群部署首先需要考虑的是ticket票据统一存储的问题,以便于达到每个节点访问的一致性,官方虽然提供了基于memcached方式,但未提供基于Redis方式,项目中需要使用redis,原创 2016-12-01 12:41:32 · 6754 阅读 · 2 评论 -
CAS server和CAS Client 各类文章总结
CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。CAS集群部署首先需要考虑的是ticket票据统一存储的问题,以便于达到每个节点访问的一致性,官方虽然提供了基于memcached方式,但未提供基于Redis方式,项目中需要使用redis,原创 2016-11-24 11:22:23 · 3315 阅读 · 3 评论 -
CAS3.5.2 Server 集成 OAuth2.0 Server 详细介绍
转载自 http://www.yoodb.com/article/display/1226 OAuth2.0是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储用户信息,而无需将用户名和密码提供给第三方应用,CAS3.5.x(x>1)提供了OAuth2.0的支持,包括客户端和服务端,依赖cas-server-support-oauth.jar包。CAS默原创 2016-11-21 14:26:01 · 9182 阅读 · 6 评论 -
java 字符串分割处理split及特殊符号
String类型的对象在 用split()方法进行字符分割的时候常常会遇到用特殊字符进行分割的情况,看JDK知道split()实际上是用的正则实现的分割,当遇到一些用特殊 字符作为分割标志的时候,不使用特殊手段就会抛出java.util.regex.PatternSyntaxException异常,比如用java中 的运算符号,括号等等这个时候可以使用split("[*]") split("//+转载 2015-12-03 14:20:10 · 3386 阅读 · 0 评论 -
Storm常见问题及解决方案总结
Storm 是一个开源的、大数据处理系统,与其他大数据解决方案的不同之处在于它的处理方式。Hadoop 在本质上是一个批处理系统。数据被引入 Hadoop 文件系统 (HDFS) 并分发到各个节点进行处理。当处理完成时,结果数据返回到 HDFS 供始发者使用。Storm 支持创建拓扑结构来转换没有终点的数据流。不同于 Hadoop 作业,这些转换从不停止,它们会持续处理到达的数据。转载 2015-07-13 00:58:17 · 3225 阅读 · 0 评论 -
Java设计模式之适配器模式
原型模式是一种创建型设计模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。原型模式有两种表现形式:1)简单形式;2)登记形式,这两种表现形式仅仅是原型模式的不同实现。简单形式的原型模式,涉及到三种角色分别如下:1)客户(Client)角色:客户类提出创建对象的请求。2)抽象原型(Prototype)角色转载 2015-07-06 17:32:07 · 1719 阅读 · 0 评论 -
Spark程序 "Hello World!"实例
简单介绍第一个程序"Hello World!",就是存储于HDFS的Log文件中计算出"Hello World!"的行数,存储路径为hdfs://root/Log,计算代码如下:12345var sc=new SparkContext("spark://localhost:6030","Hello world!","YOU转载 2015-04-18 16:09:44 · 4276 阅读 · 0 评论 -
hadoop中HBase子项目入门讲解
HBase 是Hadoop的一个子项目,HBase采用了Google BigTable的稀疏的,面向列的数据库实现方式的理论,建立在hadoop的hdfs上,一方面里用了hdfs的高可靠性和可伸缩行,另外一方面里用 了BigTable的高效数据组织形式.可以说HBase为海量数据的real-time相应提供了很好的一个开源解决方案。 HBase提供了一个类似于mysql等关系转载 2015-01-16 16:15:22 · 1889 阅读 · 0 评论