Java
文章平均质量分 74
SCU阳光
在校学生
展开
-
eclipse常用快捷键
eclipse常用的快捷键转载 2017-03-17 16:40:28 · 279 阅读 · 0 评论 -
List、set、Map的底层实现原理
本文主要是参考了网上一些对java集合讲解的比较详细博客进行归纳总结,下面对java集合中几个比较常用的类归纳分析。ArrayList实现原理要点概括参考文献: http://zhangshixi.iteye.com/blog/674856l https://www.cnblogs.com/leesf456/p/5308358.htmlArrayList原创 2018-02-04 10:02:49 · 56023 阅读 · 4 评论 -
java中的栈、堆以及两者的区别
Java中的栈、堆、堆栈的区别Java内存分为栈内存和堆内存,都是java用来在Ram中存放数据的地方。与C++不同,java自动管理栈和堆,程序员不能直接的设置栈和堆。 1. 栈Java中的数据类型有两种,前面我已经讲过。基本数据类型的定义是通过如: 诸如这种形式的定义,称为自动变量。值得注意的是,自动变量存储的是字面的值,不是类的实例(即不是类的引用),这里并没有类的存原创 2018-01-29 15:55:14 · 296 阅读 · 0 评论 -
java中文件的读取实现,以及用到哪些类?
Java中读文件的代码实现,以及用到哪些类?在java代码中进行文件的读操作,一般使用FileReader,InputStreamReader和BufferedReader类进行操作。其中最重要的类似InputStreamReader,它是字节转化为字符的桥梁。比如读取文件——按照字节格式读取 比如读取文件——按照字符读取 比如文件读取——按照行读取 具体详细原创 2018-01-29 21:31:12 · 1234 阅读 · 0 评论 -
Java集合---ConcurrentHashMap原理分析
一、背景:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下。因为当一个线程访问HashTable的同步方法时,其他...转载 2018-02-28 17:23:34 · 146 阅读 · 0 评论 -
java中读取properties文件内容的五种方式
一、背景 最近,在项目开发的过程中,遇到需要在properties文件中定义一些自定义的变量,以供java程序动态的读取,修改变量,不再需要修改代码的问题。就借此机会把Spring+SpringMVC+Mybatis整合开发的项目中通过java程序读取properties文件内容的方式进行了梳理和分析,现和大家共享。二、项目环境介绍 Spring 4.2.6.RELEASE Spri...原创 2018-03-02 11:24:14 · 1653 阅读 · 0 评论 -
Java内存模型之——重排序
重排序 重排序是编译器和处理器为了优化性能而对执行执行的顺序进行的重排序。现在大多数的处理器都会采用将指令乱序执行的方法。重排序的好处(在条件允许的情况下):直接运行当前能够立即执行的后续指令,避开获取下一条指令所需数据时造成的等待,提高处理器执行的效率。 在上面提到的“条件允许”是所涉及到的数据依赖性。数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作...原创 2018-03-03 16:18:04 · 328 阅读 · 0 评论 -
java可重入锁(ReentrantLock)的实现原理
转载自:http://blog.csdn.net/yanyan19880509/article/details/52345422因为这个博主写得太好了。太佩服了。前言相信学过java的人都知道 synchronized 这个关键词,也知道它用于控制多线程对并发资源的安全访问,兴许,你还用过Lock相关的功能,但你可能从来没有想过java中的锁底层的机制是怎么实现的。如果真是这样,而且你有兴趣了解,...转载 2018-03-03 16:55:55 · 1778 阅读 · 0 评论 -
Java中的日期转化格式DateUtil工具类
最近在项目中经常会遇到各种的日期格式转化。所以,参考一些资料就写了一个工具类DateUtil。日期格式包括:年(yyyy)、年月(yyyyMM、yyyy-MM)、年月日(yyyyMMdd、yyyy-MM-dd)、年月日时分(yyyyMMddHHmm、yyyy-MM-dd HH:mm)、年月日时分秒(yyyyMMddHHMISS、yyyy-MM-dd HH:MI:SS)等各种格式。方法:1. 根据D...原创 2018-03-04 17:26:23 · 28031 阅读 · 0 评论 -
IDEA下lombok安装,以及找不到get,set的问题
今天尝试在IDEA中使用Lombok,但是在编译时,提示找不到set()和get()方法,我明明在javabean中使用了@Data注解,但是编译器就是找不到。于是从网上查询了很多的方法去解决,最后终于解决了。接下来我就将过程分享一下,希望能够帮助需要的人:Idea下安装lombok(需要二步) 第一步: pom.xml中加入lombok依赖包<!-- https://mvnrep...原创 2018-05-10 16:06:28 · 53902 阅读 · 31 评论 -
JSON框架之阿里fastjson的介绍
前言1.3 FastJson介绍在日常的java项目开发中,JSON的使用越来越频繁,对于Json的处理工具也有很多。接下来就介绍一下阿里开源的一个高性能的JSON框架FastJson,功能完善,完全支持标准JSON库,现在已经越来越受到开发者的青睐。1.2 FastJson的特点: 1) FastJson数据处理速度快,无论序列化(把JavaBean对象转化成Json格式的字符串)和反序列...原创 2018-05-10 22:12:30 · 24372 阅读 · 1 评论 -
常用正则表达式
在平常的项目开发者中,我们在写js或者java代码时为了简化代码,以及一些输入字符串进行验证时,我们经常会用到正则表达式。熟悉正则表达式已经成为了软件开发人员必备的一项小技巧了。对于正则表达式的学习非常的简单,只要我们熟悉了一些正常表达式地基本语法,我们就可以很轻松的应对不同的字符串验证。对于正则表达式的基本语法我们可以参考一下:http://tool.oschina.net/up...原创 2018-05-21 17:09:42 · 245 阅读 · 0 评论 -
Java基础之字符串创建于存储的机制
今天在牛客网上做题,基础题部分竟然做的很差。其中有一道题就是字符串的创建和存储机制。然后查阅了相关资料,将知识点做一个整理。先看一下博客上的题目:然后我就写了一个测试程序代码:程序中定义了两个字符串常量,字符串对象实例,以及字符数组,。将使用 == 和 equals()对这两个对象进行比较。结果如下: 下面就说一下原理:在java中字符串的声明与初始化有如下几种...原创 2018-07-26 12:50:50 · 316 阅读 · 0 评论 -
Java初级程序员编码规范——接口
目录1. 接口定义常见问题1.1 返回个数不统一1.2 没有考虑操作失败的情况1.3 出现和业务无关的输入参数1.4 出现复杂的输入参数1.5 没有返回该返回的数据类型2. 接口统一格式定义在实际的项目开发中,接口定义是必须的。系统的集成需要定义接口,前后台调用也需要定义接口。通过接口的定义,能够在一定程度上看出程序员的编程功底。 接下来就列出在项目开发中经常出现的...原创 2018-10-11 15:26:54 · 1035 阅读 · 0 评论 -
Java初级程序员编码规范——Controller
目录1. Controller层的编码规范 1.1 包括在上一篇博文(接口编码规范)提到的规范内容 1.2 所有函数返回统一的ResultBean格式 1.3 ResultBean是Controller专用的,是不允许往后传 1.4 Controller做参数格式化的转换,不允许把json,map这类对象传到service去,也不允许services返回js...原创 2018-10-11 16:44:18 · 1351 阅读 · 0 评论 -
Java初级程序员编码规范——异常处理
对于一个大的项目,最怕两件事情: 1. 系统出现问题我们不知道,等到问题慢慢变大,用户开始投诉后才知道“哦,我们系统出现问题了呀!”。 多么可怕!!! 2. 系统出了问题,但是就是找不出来哪里出现了问题。 对于第一个问题,如果出现,后果非常的严重。 因此,为了尽量避免这样的问题,我们需要...原创 2018-10-11 17:41:08 · 1300 阅读 · 0 评论 -
使用SpringAOP技术实现后台业务代码的解耦,规范后台代码
讲解目录: 1. Java初级程序员编码规范—前述 2. Java初级程序员编码规范——接口 3. Java初级程序员编码规范——Controller 4. Java初级程序员编码规范——异常处理...原创 2018-10-14 13:38:45 · 762 阅读 · 0 评论 -
定时获取AccessToken——萤石开放平台
最近有一个项目,是使用萤石开放平台获取一些数据。但是遇到一个问题:获取到的AccessToken有效期只有7天,也就是说,每隔7天就要获取一次accessToken。 那么问题就来了:当一个项目部署之后,我们不可能在使用人工去获取accessToken,只能通过代码自动定时获取accessToken。那么怎样去自动获取? 对于自动获取accessToken,我们想到了使用多线程去获取AccessT原创 2018-01-19 11:05:33 · 7135 阅读 · 9 评论 -
HashMap与HashTable的区别
HashMap与HashTable有什么区别?在面试中经常会问到这样的问题。于是,通过查阅一些资料,总结一下写下这篇博客。区别1:两者诞生的时间 不同。 HashTable产生于JDK1.1,而HashMap产生于JDK1.2。从时间上来说,HashMap要比HashTable出现得晚一些。区别2:类的继承体系不同可以看一下下面两幅图(HashMap和HashTable的类继承图)原创 2018-01-25 22:01:37 · 379 阅读 · 0 评论 -
HashMap原理深度解析
HashMap的基本原理:HashMap是基于哈希算法,然后调用get()和put()方法进行数据的读取和存入。首先看一下HashMap的存储形式:数据的存储put()方法: 1. 当我们将键值对传递给HashMap的put()方法时,它就会调用对象的hashCode()方法计算对应的hashCode值,根据hashCode值找到对应的bucket位置来进行存储对象。原创 2018-01-25 19:53:10 · 724 阅读 · 4 评论 -
web.xml配置中的servlet及servlet-mapping
搞了这几天的微信公众号开发练习,感觉还是很模糊,刚开始对web.xml的配置就不清楚,所以这两天在网上查了很多资料。接下来将我理解的和大家一起分享。对于web.xml配置,我们先看一下访问顺序:访问顺序为1—>2—>3—>4,其中2和3的值必须相同。对于容器的Context对象对请求路径(URL)做出处理,去掉请求URL的上下文路径后,按路径映射规则原创 2017-05-03 16:17:56 · 2670 阅读 · 0 评论 -
HTTP中的get请求与post请求
一.基本原理首先,我先介绍一下http请求的基本原理:假如我们在浏览器中输入一个网址http://blog.csdn.net/xzp_12345/article/details/61418713访问的话,其实这就是一个GET请求。GET一般是用于获取/查询资源信息,而POST一般是用于更新资源信息。HTTP定义了与服务器交互的不同的方法,其中最基本的四种方法是:GET, POST,原创 2017-04-21 10:54:45 · 465 阅读 · 0 评论 -
The superclass "javax.servlet.http.HttpServlet" was not found on the Java
今天在练习java程序时,当我新建一个jsp程序,就出现下面的错误:原因是因为没有导入Server Runtime.解决方法:工程右键点击Build Path --->configure build path.......------>左侧选择java build path ,然后在右侧点击Libraries. 在右侧选择添加数据库Add Libraries..原创 2017-06-01 14:01:45 · 511 阅读 · 0 评论 -
用BeanUtils类自动封装表单数据到javabean
如下图:1.在网页中有这样一个表单,填写表单之后需要将表单内容保存到数据库中处理关系图:2.对应的数据库表的内容为:3.对应的JavaBean为:package com.yangguang.domain;import java.io.Serializable;//分类public class Category implements Se原创 2017-08-24 16:29:29 · 978 阅读 · 0 评论 -
JavaMail邮件开发(一)
Java邮件开发,JavaMail,原创 2017-09-05 20:56:09 · 397 阅读 · 0 评论 -
使用Filter处理web中的表单提交过程中的中文问题
比如:在网页中有这样一个表单当我们填写中文,然后点击提交的时候,需要使用拦截器Filter去处理中文。首先,先来介绍一下拦截器Filter:一、Filter的介绍及使用什么是过滤器?与Servlet相似,过滤器是一些web应用程序组件,可以绑定到一个web应用程序中。但是与其他web应用程序组件不同的是,过滤器是"链"在容器的处理过程中的。这就意味着它们会在se原创 2017-08-24 15:42:38 · 711 阅读 · 0 评论 -
JavaMail邮件开发(二)
复杂的邮件开发(带有图片的邮件)1. 首先,我们看一下一个邮件主题的组成结构:(参考\javamail-1.4.4\docs\mail1-4.pdf中的Chapter4部分)仔细看一下上面这个图,下面自己画图解释一下:对于有图片的一封邮件,正文部分有两部分Bodypart: 文本和图片。因为头部部分我们在上一部分已经设置好了,所以,接下来我们主要原创 2017-09-06 19:13:02 · 344 阅读 · 0 评论 -
Java实现页面显示中的信息分页
首先,我们一般在页面中经常会看到这样的页面:上一页,下一页,跳转到**页等等这样的分页信息,大概的表格信息如下图:所以,我们通过Java代码去大概实现后端-》前端的大概流程1. 看到这个分页的界面,首先应该将分页的相关信息进行封装JavaBean:代码如下package com.yangguang.domain;import java.util.List原创 2017-08-29 14:49:57 · 2439 阅读 · 0 评论 -
JavaMail邮件开发(三)
JavaMail邮件开发,邮件开发中遇到的三个问题,在收件箱中接收到的附件名乱码,正文中中文乱码,附件中的文档中文乱码原创 2017-09-06 20:27:59 · 310 阅读 · 0 评论 -
Java反射讲解(一)
Java反射原创 2017-09-30 10:21:26 · 246 阅读 · 0 评论 -
hashCode与equals详解
以前写程序一直没有注意hashCode的作用,但是看到很多相关的面试题之后,我发现我了解的知识还很少!今天就来说一说hashCode和equals的作用。 先来试想一个场景,如果你想查找一个集合中是否包含某个对象,那么程序应该怎么写呢?通常的做法是逐一取出每个元素与要查找的对象一一比较,当发现两者进行equals比较结果相等时,则停止查找并返回true,否则,返回false。但原创 2017-10-14 11:10:03 · 234 阅读 · 0 评论 -
Artifact Project3:war exploded: Error during artifact deployment. See server log for details.
今天使用ItelliJ IDEA开发web程序,加载tomcat的时候出现了加载不成功的错误:Artifact Project3:war exploded: Error during artifact deployment. See server log for details.刚开始我以为是我的配置文件出现了问题,修改了很多在方法还是不行。最后发现是tomcat自己的原因。原创 2017-10-24 10:43:14 · 4582 阅读 · 0 评论 -
Java多线程基础知识总结
Java基础知识多线程,多线程基础知识,多线程join()、sleep()、yield()方法原创 2017-11-02 19:53:02 · 353 阅读 · 0 评论 -
遍历一个List的三种方式
遍历集合List的三种方式 List集合是一种有序的,可重复的集合,集合中每个元素都有自己的元素索引。List集合允许可重复的元素,可以通过索引访问指定位置的元素。 下面列出访问遍历List的三种方式:方式一:方式二:方式三:完整代码如下:import java.util.ArrayList;import原创 2018-01-03 21:23:47 · 2899 阅读 · 0 评论 -
Java中递归与迭代的区别
Java中递归与迭代的区别 在找工作面试的过程中,遇到这样一个问题:递归与迭代的区别?当时感觉这个基础的问题回答的很差,值回答了简单的层面意思。所以,回来就查阅资料总结了一下。参考博客:http://blog.csdn.net/laoyang360/article/details/78558601. 基本概念 递归:在程序中,一个函数调用自身的编程方法称为递归。【函数自己调用自己】原创 2018-01-31 11:19:33 · 2270 阅读 · 1 评论 -
Java中的基本数据类型
java中的数据类型包括八种基本数据类型和引用类型:这8种基本数据类型所占内存大小是:基本类型所占的存储空间是不变的:这种不变性也是java具有可移植性的原因之一。基本类型是放在栈中,直接存储值。所有数值类中都是有正负号,没有无符号的数字类型。 注: 1. Int 是基本数据类型,Integer是int的封装类,是引用类型。Int默认值是0,而Int原创 2018-01-25 16:03:35 · 274 阅读 · 0 评论 -
Java集合类解析
出自:https://www.cnblogs.com/leeplogs/p/5891861.html一、集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。二、层次关系如图所示:图中,实线边框的是实现类,折线边框的转载 2018-02-01 16:39:43 · 247 阅读 · 0 评论 -
Java初级程序员编码规范—前述
大家眼中的程序员标签 作为初级的程序员,我们在平时项目中,接触最多的就是业务层代码,每天就是CRUD,可以说没有什么技术含量,即使我们基础很差,依葫芦画瓢很多功能也能够勉强做出来。 但是问题就...原创 2018-10-10 16:20:29 · 423 阅读 · 0 评论