![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 62
isxuran
不乱于心,不困于情,不畏将来,不念过往
展开
-
Java 汉字 转 拼音/首字母
汉字 转 拼音/首字母代码片如下:import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;import net...原创 2018-11-19 14:14:20 · 2334 阅读 · 0 评论 -
Set去重原理和内部实现
Set可以去重,即不会出现重复元素。分析Set去重的原理非常简单,Set的内部是通过Map来实现的。我们选取平时常的HashSet来分析 private transient HashMap<E,Object> map; private static final Object PRESENT = new Object(); /** * C...原创 2018-10-07 10:15:14 · 13681 阅读 · 0 评论 -
单点登录原理与简单实现
一、单系统登录机制1、http无状态协议 web应用采用browser/server架构,http作为通信协议。http是无状态协议,浏览器的每一次请求,服务器会独立处理,不与之前或之后的请求产生关联,这个过程用下图说明,三次请求/响应对之间没有任何联系 但这也同时意味着,任何用户都能通过浏览器访问服务器资源,如果想保护服务器的某些资源,必须限制浏览器请求;要限制浏览器请求,必...转载 2018-10-06 19:31:16 · 112 阅读 · 0 评论 -
谈谈对Spring IOC的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对Ioc的精彩讲解 首先要分享的是Iteye的开涛这位技术牛人对Spr...原创 2018-10-15 09:18:12 · 338 阅读 · 0 评论 -
SpringMVC工作原理
首先,我们先来认识一下SpringMVC的主要组件前端控制器(DisatcherServlet):接收请求,响应结果,返回可以是json,String等数据类型,也可以是页面(Model)。处理器映射器(HandlerMapping):根据URL去查找处理器,一般通过xml配置或者注解进行查找。处理器(Handler):就是我们常说的controller控制器啦,由程序员编写。处理器...原创 2018-10-12 18:42:35 · 257 阅读 · 0 评论 -
SpringCloud zuul Cookie跨域丢失问题
什么是跨域:协议、端口号、域名 都相同才是同一个域 只要有一个不同就算是跨域 主域名相同,子域名不同也算跨域email.qq.com和zone.qq.com就属于主域相同,子域不同,也算是跨域需要注意的是:协议不同(eg:https和http)或者端口号不同造成的跨域,前端是无法解决的 1.我所遇到的跨域问题说明:端口号不同。2.由于我们做的项目采用的是SpringClo...原创 2018-09-22 09:46:52 · 2369 阅读 · 0 评论 -
事务的隔离级别
TransactionDefinition.ISOLATION_DEFAULT:这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是TransactionDefinition.ISOLATION_READ_COMMITTED。 TransactionDefinition.ISOLATION_READ_UNCOMMITTED:该隔离级别表示一个事务可以读...原创 2018-10-11 09:53:47 · 305 阅读 · 0 评论 -
Java时间戳和时间的相互转换
/** * 时间转换成时间戳 * @param s 传入的时间 * @return 返回时间戳 * @throws ParseException */ public static String timeTotimeStamp(String s) throws ParseException{ SimpleDateFo...原创 2018-09-26 09:02:02 · 4498 阅读 · 0 评论 -
Java枚举 — 很少被使用,或许是因为真正了解它的人太少了
前言 你代码中的flag和status,都应该用枚举来替代看了很多篇文章,还是这篇更容易理解,记录一下很多人都说,枚举在实际开发中很少用到,甚至就没用到。因为,他们的代码往往是这样子的:public class Constant { /* * 以下几个变量表示英雄的状态 */ public final static int STATUS_WALKING = 0;//走 ...转载 2018-09-19 11:31:34 · 4504 阅读 · 1 评论 -
isELignored的作用
JSP的一个主要特点是它支持表达语言(expression language)。JSTL表达式语言可以使用标记格式方便地访问JSP的隐含对象和JavaBeans组件,JSTL的核心标记提供了流程和循环控制功能。自制标记也有自定义函数的功能,因此基本上所有seriptlet能实现的功能都可以由JSP替代。在JSP中,建议尽量使用EL而使JSP的格式更一致。 在web.xml的<jsp-prope...原创 2018-08-12 21:27:57 · 4399 阅读 · 1 评论 -
JVM看这一篇就够了
jvm 总体梳理jvm体系总体分四大块:类的加载机制 jvm内存结构 GC算法 垃圾回收 GC分析 命令调优当然这些知识点在之前的文章中都有详细的介绍,这里只做主干的梳理这里画了一个思维导图,将所有的知识点进行了陈列,因为图比较大可以点击右键下载了放大查看。 类的加载机制主要关注点:什么是类的加载 类的生命周期 类加载器 双亲委派模型什么是类的加载...原创 2018-10-08 14:43:47 · 964 阅读 · 0 评论 -
Java IO层次体系结构
在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了 Java I/O主要包括如下几个层次,包含三个部分: 1.流式部分――IO的主体部分; 2.非流式...原创 2018-10-10 16:29:12 · 4498 阅读 · 1 评论 -
MySQL两种引擎的区别
文字描述 : Innodb引擎Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别。该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL后台的完整数据库系统,MySQL运行时Innodb会在内存中建立缓冲池,用于缓冲数据和索引。但是该引擎不支持FULLTEXT类型的索引,而且它没有保存表的行数,当SE...原创 2018-10-10 09:13:16 · 8829 阅读 · 2 评论 -
java IO流面试总结
1.什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别答案Bit最小的二进制单位 ,是计算机的操作部分 取值0或者1Byte是计算机操作数据的最小单位由8位bit组成 取值(-128-127)Char是用户的可读写的最小单位,在Java里面由16位bit组成 取值(0-65535)Bit 是最小单位 计算机 只能认识 0或者1 8...原创 2018-10-09 19:43:33 · 608 阅读 · 0 评论 -
关于==和equals的区别和联系,这么回答就可以
长篇大论的话,我这里就不多写了,相信大家入门java 的时候就知道个大概了,这里想表述的是,如果有人问你《关于==和equals的区别》,该怎么回答完美呢?可以这样说总结的来说: 1)对于==,比较的是值是否相等 如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等; 如果作用于引用类型的变量,则比较的是所指向的对象的地址 2)对于e...原创 2018-10-09 19:00:55 · 298 阅读 · 0 评论 -
10个Java抽象类和接口的面试题
1. Java抽象类可以有构造函数吗?可以有,抽象类可以声明并定义构造函数。因为你不可以创建抽象类的实例,所以构造函数只能通过构造函数链调用(Java中构造函数链指的是从其他构造函数调用一个构造函数),例如,当你创建具体的实现类。现在一些面试官问,如果你不能对抽象类实例化那么构造函数的作用是什么?好吧,它可以用来初始化抽象类内部声明的通用变量,并被各种实现使用。另外,即使你没有提供任何构造函数...原创 2018-10-09 18:49:48 · 915 阅读 · 0 评论 -
面试题_抽象类和接口的区别
含有abstract修饰符的class 即为抽象类。abstract类不能创建实例对象;含有abstract的方法的类必须定义为abstract class ;abstract class 里的方法不必是抽象的;抽象类中定义抽象方法必须放在具体子类中实现;所以呀,不能有抽象的构造方法或抽象的静态方法,如果子类没有实现抽象父类中的所有 方法,那么,子类也必须定义为抽象类。接口(interface...原创 2018-10-15 08:11:14 · 964 阅读 · 0 评论 -
Java反射机制
1.Java反射机制的作用?可以通过配置文件来动态配置和加载类,以实现软件工程理论里所提及的类与类,模块与模块之间的解耦。反射最经典的应用是spring框架。1.1 动态性质运行时生成对象实例; 运行期间调用方法; 运行时更改属性1.2 Java反射机制能实现的功能在运行时判断任意一个对象所属的类 在运行时构造任意一个类的对象 在运行时判断任意一个类所具有的方法和属性 ...原创 2018-10-09 16:19:03 · 161 阅读 · 0 评论 -
java中创建线程的三种方法以及区别
Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用三种方式来创建线程,如下所示:1)继承Thread类创建线程2)实现Runnable接口创建线程3)使用Callable和Future创建线程下面让我们分别来看看这三种创建线程的方法。 ------------------------继承Thread类创建线程-------...原创 2018-09-30 08:44:34 · 168 阅读 · 0 评论 -
线程的生命周期
1.线程的生命周期线程是一个动态执行的过程,它也有一个从产生到死亡的过程。(1)生命周期的五种状态新建(new Thread)当创建Thread类的一个实例(对象)时,此线程进入新建状态(未被启动)。例如:Thread t1=new Thread();就绪(runnable)线程已经被启动,正在等待被分配给CPU时间片,也就是说此时线程正在就绪队列中排队等候得到CPU资源。例...原创 2018-09-30 08:36:37 · 109 阅读 · 0 评论 -
ReenTrantLock可重入锁和synchronized的区别
可重入性:从名字上理解,ReenTrantLock的字面意思就是再进入的锁,其实synchronized关键字所使用的锁也是可重入的,两者关于这个的区别不大。两者都是同一个线程没进入一次,锁的计数器都自增1,所以要等到锁的计数器下降为0时才能释放锁。 锁的实现:Synchronized是依赖于JVM实现的,而ReenTrantLock是JDK实现的,有什么区别,说白了就类似于操作系...原创 2018-09-29 19:14:53 · 142 阅读 · 0 评论 -
Java:悲观锁、乐观锁的区别及使用场景
定义:悲观锁(Pessimistic Lock):每次获取数据的时候,都会担心数据被修改,所以每次获取数据的时候都会进行加锁,确保在自己使用的过程中数据不会被别人修改,使用完成后进行数据解锁。由于数据进行加锁,期间对该数据进行读写的其他线程都会进行等待。乐观锁(Optimistic Lock):每次获取数据的时候,都不会担心数据被修改,所以每次获取数据的时候都不会进行加锁,但是在更新数...原创 2018-09-29 18:49:35 · 214 阅读 · 0 评论 -
购物车-Cookie和Session各自的优缺点
1. cookie cookie是由服务器产生,存储在客户端的一段信息。它定义了一种Web服务器在客户端存储和返回信息的机制,cookie文件它包含域、路径、生存期、和由服务器设置的变量值等内容。当用户以后访问同一个Web服务器时,浏览器会把cookie原样发送给服务器。通过让服务器读取原先保存到客户端的信息,网站能够为浏览者提供一系列的方便,例如在线交易过程中标识用户身份、安全要求不高的场...原创 2018-07-26 19:24:42 · 682 阅读 · 0 评论 -
关于String、==、equlas、final、instanceof、初始化等每个初学者都应该搞懂的问题
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。 问题一:我声明了什么! String s = "Hello world!"; 许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。...原创 2018-07-13 21:34:44 · 167 阅读 · 0 评论 -
Spring事务异常回滚,try catch 捕获异常不回滚
今天敲项目的时候一个方法有两个事务,用了try catch之后一直出现一个报错一个不报错,不报错的却不回滚的现象,仔细检查解决问题 例:一个方法报异常,另一个方法不会回滚try { userDao.save(user); userCapabilityQuotaDao.save(capabilityQuot...原创 2018-07-05 11:10:54 · 29573 阅读 · 0 评论 -
Cannot change version of project facet Dynamic Web Module to 3.0【已解决】
Cannot change version of project facet Dynamic Web Module to 3.0解决办法:打开报错项目的.settings文件夹(该文件夹找不到的请参考:.settings)打开org.eclipse.wst.common.project.facet.core.xml文件 做如下修改:<installed f...原创 2018-06-13 10:55:29 · 148 阅读 · 0 评论 -
Spring Bean的autowire属性 自动装配
当我们要往一个bean的某个属性里注入另外一个bean,我们会使用<property> + <ref/>标签的形式。但是对于大型项目,假设有一个bean A被多个bean引用注入,如果A的id因为某种原因修改了,那么所有引用了A的bean的<ref/>标签内容都得修改,这时候如果使用autowire="byType",那么引用了A的bean就完全不用修改了。au...原创 2018-06-06 08:31:25 · 2604 阅读 · 1 评论 -
单MapReduce程序算出高峰时间段哪张表被访问的最频繁
[单MapReduce]编写MapReduce程序算出高峰时间段(9-10点)哪张表被访问的最频繁*纯个人见解,单个MapReduce解题过程,如有不足,请多多指教,谢谢需求:* 用Hadoop分析海量日志文件,每行日志记录了如下数据: * TableName(表名),Time(时间),User(用户),TimeSpan(时间开销) * 要求编写MapReduce程序算出高...原创 2018-05-29 19:16:17 · 591 阅读 · 0 评论 -
Maven 工程启动找不到 Spring ContextLoaderListener和IntrospectorCleanupList的解决办法
用maven 工程搭建项目,在搭建好之后,运行时却抛出了这样的错误: java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener java.lang.ClassNotFoundException: org.springframework.web.util.I...原创 2018-06-12 16:37:09 · 753 阅读 · 1 评论 -
eclipse java连接hbase卡住不动
问题 java连接hbase卡住这个过程会持续一段时间<span style="color:#ff0000">log4j:WARN No appenders could be found for logger (org.apache.hadoop.security.Groups).log4j:WARN Please initialize the log4j syst...原创 2018-05-26 10:17:36 · 2023 阅读 · 1 评论 -
什么是高可用
一、什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%。如果系统每运行100个时间单位,会有1个时间单位无法提供服务,我们说系统的可用性是99%。很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停...原创 2018-06-08 15:23:12 · 9406 阅读 · 0 评论 -
ApplicationContext的三种实现方式
spring为ApplicationContext提供的3种实现分别是:ClassPathXmlApplicationContext, FileSystemXmlApplicationContext,XmlWebApplicationContext,其中 XmlWebApplicationContext是专为Web工程定制的。使用举例如下: 1. FileSystemXmlApp...原创 2018-03-31 11:24:42 · 11910 阅读 · 0 评论 -
Java锁的种类以及区别
在读很多并发文章中,会提及各种各样锁如公平锁,乐观锁等等,这篇文章介绍各种锁的分类。介绍的内容如下: 公平锁/非公平锁 可重入锁 独享锁/共享锁 互斥锁/读写锁 乐观锁/悲观锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁上面是很多锁的名词,这些分类并不是全是指锁的状态,有的指锁的特性,有的指锁的设计,下面总结的内容是对每个锁的名词进行一定的解释。公平锁/非公平锁公平...原创 2018-01-10 18:20:59 · 368 阅读 · 0 评论 -
自旋锁
锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些已经写好提供的锁为我们开发提供了便利,但是锁的具体性质以及类型却很少被提及。本系列文章将分析JAVA下常见的锁名称以及特性,为大家答疑解惑。 自旋锁自旋锁是采用让当前线程不停地的在循环体内执行实现的,当循环的条件被其他线程改变时 才能进入临界区。如...原创 2018-01-10 18:18:32 · 234 阅读 · 0 评论 -
synchronized与lock的区别
引言: 在学习别人分享的经验时,看到Lock的使用。想起自己也遇到了synchronized与Lock的区别与使用。于是,我整理了两者的区别和使用情况,同时,对synchronized的使用过程一些常见问题的总结,最后是参照源码和说明文档,对Lock的使用写了几个简单的Demo。请大家批评指正。技术点:1、线程与进程:在开始之前先把进程与线程进行区分一下,一个程序最少需要一...原创 2018-01-10 17:53:34 · 261 阅读 · 0 评论 -
Java 单例模式
概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对...转载 2018-01-05 09:20:44 · 212 阅读 · 0 评论 -
实例中给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表
一·需求描述: 要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘。下面进入这个实例。实例中给出child-parent(孩子——父母)表,要求输出grandchild-grandparent(孙子——爷奶)表。=================样本输入:===================child parentTom LucyT...原创 2018-05-30 15:18:18 · 4872 阅读 · 2 评论 -
Hadoop机架感知
背景 分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。 具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块blo...原创 2018-06-07 10:50:54 · 276 阅读 · 0 评论 -
MyBatis获取插入记录的主键自增长的字段值
在Mybatis Mapper文件中添加属性“useGeneratedKeys”和“keyProperty”,其中keyProperty是Java对象的属性名//注意不要写成keyColumn<insert id="addUsersInfo" parameterType="users" useGeneratedKeys="true" keyProperty="uid"> inser...原创 2018-07-05 10:16:05 · 175 阅读 · 0 评论 -
Maven项目 遇到failOnMissingWebXml有关问题的解决方法
使用maven创建项目时有时在pom.xml的war处出现failOnMissingWebXml的错误,根据错误提示的原因可以知道项目打包时打成了war包,而war包是web项目 所以如果项目里没有web.xml,在项目里添加一个web.xml,刷新一下项目,就应该没有错误,如果还有请看下面的介绍创建web.xml:右键项目——>javaEE tools—如果你的项...原创 2018-07-04 17:02:42 · 2987 阅读 · 0 评论