java
Dream_ling
这短短的一生,我们都会失去,不妨大胆一些,爱一个人,攀一座山,追一个梦
展开
-
关于Spring中事务的理解
什么是事务?数据库操作最基本单元,逻辑上一组操作,要么都成功,否则失败。典型场景:银行转账。四大特性:原子、一致、隔离、持久性。ACID特性。原子性:要么都成功,不可分割,一个失败都都失败。一致性:操作前后总量不变。比如两人都有100块钱,一共200,一个人转给另一个人后总量还是200隔离性:多事务操作相互不会产生影响。比如两人都去操作同一条记录,两人间互不应影响。持久性:提交之后,表中数据真正发生变化。事务操作(搭建操作环境,以转账为例)示例图:步骤:..原创 2020-12-25 16:43:18 · 303 阅读 · 1 评论 -
Spring中的声明事务管理,底层使用AOP思想
前言:声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应用到业务逻辑中。声明式事务管理使业务代码不受污染,一个普通的POJO对象,只要加上注解就可以获得完全的事务支持。Spring 事原创 2020-12-25 16:27:29 · 426 阅读 · 0 评论 -
什么是双亲委派机制?
双亲委派机制 双亲委派机制是指当一个类加载器收到一个类加载请求时,该类加载器首先会把请求委派给父类加载器。每个类加载器都是如此,只有在父类加载器在自己的搜索范围内找不到指定类时,子类加载器才会尝试自己去加载。双亲委派模型工作工程: 1.当Application ClassLoader 收到一个类加载请求时,他首先不会自己去尝试加载这个类,而是将这个请求委派给父类加载器Extension ClassLoader去完成。 2.当Extension ClassLoader收到一个类加载请..原创 2020-11-02 15:53:37 · 6101 阅读 · 1 评论 -
SpringBoot项目不需要数据库配置
1. 错误springboot项目启动时,如果没有配置数据库配置,启动时会抛出如下异常。Description:Cannot determine embedded database driver class for database type NONEAction:If you want an embedded database please put a supported one on the classpath.If you have database settings to be原创 2020-08-31 10:39:35 · 7143 阅读 · 0 评论 -
手把手教你springBoot整合Shiro
Shiro什么是 Shiro官网:http://shiro.apache.org/是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。Shiro 就是用来解决安全管理的系统化框架。Shiro 核心组件用户、角色、权限会给角色赋予权限,给用户赋予角色1、UsernamePasswordToken,Shiro 用来封装用户登录信息,使用用户的登录信息来创建令牌 Token原创 2020-08-04 00:09:06 · 239 阅读 · 0 评论 -
java必须掌握的技术点--基础篇--(六)
java面试汇总专栏线程 说说 CountDownLatch 与 CyclicBarrier 区别 CountDownLatch:一个线程(或者多个), 等待另外N个线程完成某个事情之后才能执行。CyclicBarrier:N个线程相互等待,任何一个线程完成之前,所有的线程都必须等待。这样应该就清楚一点了,对于CountDownLatch来说,重点是那个“一个线程”,...原创 2020-04-29 15:43:34 · 254 阅读 · 0 评论 -
一篇实战博客入门之--Java爬虫(一)
1. 课程计划1. 入门程序2. 网络爬虫介绍3. HttpClient 抓取数据4. Jsoup 解析数据5. 爬虫案例2. 网络爬虫网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本2.1. 爬虫 爬虫 入门 程序2.1.1. 环境准备JDK1.8 IntelliJ IDEA IDEA 自带的 Maven2.1...原创 2020-04-16 10:09:08 · 744 阅读 · 0 评论 -
利用JFram实现经典排序算法动画
package demo.test;import java.awt.*;import java.awt.event.*;import javax.swing.*;/** * 图形方式显示经典排序 * @author DreamLing * */public class SortX extends JFrame { private JLabel[] n; private JB...原创 2020-03-13 17:26:14 · 359 阅读 · 2 评论 -
java操作图片为啥改了图片以后底片是红色的
之前项目上线上传的两张png格式的图片。后来因需求变更 需要修改 图片,想着只需要修改图片的名称直接替换掉就可以了但是实际出来的效果确是 替换后的图片呈现泛红的状态。 找了一下原因是用 java 代码操作图片的时候 png 的格式输入,jpg的格式输出。那么问题来了 为什么之前的图片没有问题 而后面替换的图片会泛红? 百思不得其解,百度也没搜到原因。最后在仔细对比图片属...原创 2018-12-13 21:01:49 · 2122 阅读 · 0 评论 -
解决maven依赖传递导致的jar包冲突
什么是 依赖传递?构建一个新的maven project在pom.xml中 先添加 springmvc的核心依赖的坐标会发现出现除了 spring-webmvc 以外的其他 jar。因为我们的项目依赖 spring-webmvc.jar,而spring-webmvc.jar 会依赖spring-beans.jar 等等,所以 spring-beans.jar 这些 jar 包也出...原创 2019-10-30 13:23:23 · 570 阅读 · 0 评论 -
spring mvc(超详细 要安静的来看)
一、前言:大家好,Spring3 MVC是非常优秀的MVC框架,由其是在3.0版本发布后,现在有越来越多的团队选择了Spring3 MVC了。Spring3 MVC结构简单,应了那句话简单就是美,而且他强大不失灵活,性能也很优秀。官方的下载网址是:http://www.springsource.org/download (本文使用是的Spring 3.0.5版本) Struts...原创 2018-09-20 11:19:26 · 480 阅读 · 0 评论 -
页面的缓存与不缓存设置
HTML的HTTP协议头信息中控制着页面在几个地方的缓存信息,包括浏览器端,中间缓存服务器端(如:squid等),Web服务器端。本文讨论头信息 中带缓存控制信息的HTML页面(JSP/Servlet生成好出来的也是HTML页面)在中间缓存服务器中的缓存情况。 HTTP协议中关于缓存的信息头关键字包括Cache-Control(HTTP1.1),Pragma(HTTP1.0),las...原创 2018-10-10 10:53:56 · 2087 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.apache.log4j.Logger
java.lang.ClassNotFoundException: org.apache.log4j.Logger遇到类似的问题,提示就已经很清楚了,没有找到类,这里是没有找到Logger类。方法一: 第一步 看一下log4j的jar包是否存在,如果不存在,添加jar包 将jar包直接复制到项目根目录,右击jar包,点击build path,点击add to build ...原创 2018-10-10 10:43:38 · 20671 阅读 · 1 评论 -
为什么说 Java 程序员必须掌握 Spring Boot ?
Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,那么, Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会给我们带来什么样变革? 带着这些问题,我们一起来了解下 Spring Boot 到底是什么? Spring 历史 说起 Spring Bo...转载 2018-10-10 09:40:43 · 174 阅读 · 0 评论 -
java 图片操作技术之RGB的获取
/** * 名词解释: * 饱和度是指色彩的鲜艳程度,也称色彩的纯度。 * 灰度:使用黑色调表示物体,即用黑色为基准色,不同的饱和度的黑色来显示图像。 * 像素:如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成, * 这些小方点就是构成影像的最小单元——像素。是分辨率的尺寸单位。 * 像素是基本原色素及其...转载 2018-10-09 16:31:13 · 3849 阅读 · 3 评论 -
org.apache.catalina.connector.ClientAbortException
org.apache.catalina.connector.ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error at org.apache.catalina.connector.OutputBuffer.realWriteBytes(Outp...原创 2018-10-15 12:38:46 · 3462 阅读 · 0 评论 -
request获取各种路径
equest.getRealPath() 这个方法已经不推荐使用了,代替方法是:request.getSession().getServletContext().getRealPath() 在servlet里用this.getServletContect().getRealPath()在struts里用this.getServlet().getServletContext()...转载 2018-09-29 09:36:08 · 284 阅读 · 0 评论 -
servlet九大内置对象之response 的contentType 几种类型
引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在spring MVC中如何使用它们来映射请求信息。1. Content-Type MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型...转载 2018-09-29 09:25:33 · 3595 阅读 · 0 评论 -
@SuppressWarnings忽略警告
简介:java.lang.SuppressWarnings是J2SE 5.0中标准的Annotation之一。可以标注在类、字段、方法、参数、构造方法,以及局部变量上。作用:告诉编译器忽略指定的警告,不用在编译完成后出现警告信息。使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={})根据sun的官...原创 2018-09-28 14:07:36 · 746 阅读 · 0 评论 -
Java——BufferedImage对象
BufferedImage对象中最重要的两个组件是Raster与ColorModel,分别用于存储图像的像素数据和颜色数据。1、Raster对象的作用与像素存储BufferedImage支持从Raster对象中获取任意位置(x,y)点的像素值p(x,y)image.getRaster().getDataElements(x,y,width,height,pixels)x,y表示开始...原创 2018-09-28 12:43:35 · 1842 阅读 · 0 评论 -
java.lang.OutOfMemoryError: PermGen space
eclipse 运行报java.lang.OutOfMemoryError: PermGen space解决方法一、在window下eclipse里面Server挂的是tomcat6,一开始还是以为,tomcat配置的问题,后面发现,配置了tomcat里面的catalina.bat文件,加入 set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=256M...原创 2018-10-25 17:08:50 · 159 阅读 · 0 评论 -
eclipse中将项目打包成jar的两种方法,及其问题与解决方法
第一种:利用eclipse中自带的export功能第一种方法分两种情况先来看第一种情况:没有引用外部jar的项目打包步骤一:右键点击项目选择导出(export),选择java>jar文件(不是选择可运行jar文件)步骤二:选择你要导出的项目以及文件,指定文件导出路径。连续点击两个下一步后到第四步。步骤三:选择主类。按照以上步骤即可完成对一个不引用外部jar...转载 2018-11-06 11:20:16 · 824 阅读 · 0 评论 -
java每天5道面试题(四)
1.什么是死锁(deadlock)?两个进程都在等待对方执行完毕才能继续往下执行的时候就发生了死锁。结果就是两个进程都陷入了无限的等待中。2.如何确保N个线程可以访问N个资源同时又不导致死锁?使用多线程的时候,一种非常简单的避免死锁的方式就是:指定获取锁的顺序,并强制线程按照指定的顺序获取锁。因此,如果所有的线程都是以同样的顺序加锁和释放锁,就不会出现死锁了。原创 2018-01-26 22:00:20 · 338 阅读 · 0 评论 -
Maven 教程之 pom.xml 详解
简介什么是 pom?POM 是 Project Object Model 的缩写,即项目对象模型。pom.xml 就是 maven 的配置文件,用以描述项目的各种信息。pom 配置一览<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSche...转载 2019-08-06 10:25:09 · 547 阅读 · 0 评论 -
Java常用的八种排序算法与代码实现
排序问题一直是程序员工作与面试的重点,今天特意整理研究下与大家共勉!这里列出8种常见的经典排序,基本涵盖了所有的排序算法。1.直接插入排序 我们经常会到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四个数、第五个数……直到最后一个数,重复第二步。如题所示:直接插入排序(St...原创 2019-06-17 10:19:11 · 173 阅读 · 0 评论 -
drools规则引擎对接风控系统简单实现Demo
从五一放假回来,研究了三天的drools的原理,由于网上的视频基本都是收费,并且上班如果看视频只能是无声。所以研究的主要渠道就是通过博客专栏,当然也找了一些视频。视频都是加密的,日后等解密后分享出来。写这篇博客的目的是总结一下整个学习过程,及日后深入研究需要考虑的点。三天时间肯定只是皮毛,只能做一个简单的能运行的demo。主要阅读的博客有一下这些,有一些是连载,非常感谢博主们的分享。htt...原创 2019-05-09 17:19:48 · 5244 阅读 · 4 评论 -
no projects are found to import
eclipse、Myeclipse在导入本地项目 或者gitLab 或者GitHub上项目的时候 有时候会出现“no projects are found to import”这样的错误。原因其实很简单就是缺少两个文件。就是缺少这两个文件。那怎么办呢?如果是maven项目就随便新建一个maven项目,如果是普通的java、JavaWeb项目就随便新建一个对应的项目。找到新建...原创 2019-03-20 18:58:30 · 927 阅读 · 0 评论 -
Linux下安装Tomcat服务器和部署Web应用
一、上传Tomcat服务器 二、安装Tomcat服务器2.1、解压tomcat服务器压缩包 2.2、配置环境变量 tomcat服务器运行时是需要JDK支持的,所以必须配置好JDK用到的那些环境变量 编辑/etc下的profile文件,加上如下内容: 2.3、修改tomcat服务器的启动端口 修改将Tomca...原创 2019-03-11 10:59:03 · 269 阅读 · 0 评论 -
关于Maven项目build时出现No compiler is provided in this environment的处理
近日有同事遇到在编译Maven项目时出现[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?的问题, 原以为这是个个例, 源于同事粗心, 配置环境出问题造成, 后到百度查看一下, 遇到这个问题的不在少数, 但是对问题的解释没有说到根源, 于...转载 2019-01-17 17:01:41 · 307 阅读 · 0 评论 -
java程序如何实现调取外部接口
感觉这几篇文章不错感谢作者分享:https://blog.csdn.net/dunegao/article/details/79032950https://bbs.csdn.net/topics/392160570http://www.cnblogs.com/dougest/p/6580960.html原创 2018-11-22 11:31:11 · 4339 阅读 · 0 评论 -
什么是高并发 ,详细讲解
一、什么是高并发高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。 高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。 响应时间:系统对请求做出响应的时间。例如系统处理一...转载 2018-11-16 15:36:55 · 718 阅读 · 0 评论 -
Redis一个异常的解决办法,异常描述:Could not get a resource from the pool
异常描述: redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the pool at redis.clients.util.Pool.getResource(Pool.java:22) at com.derbysoft.jredis.longkeytest.Borr...转载 2018-11-15 13:21:10 · 1311 阅读 · 1 评论 -
Java中Iterator(迭代器)的用法及其背后机制的探究
在Java中遍历List时会用到Java提供的Iterator,Iterator十分好用,原因是:迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小。 Java中的Iterator功能比较简单,并且只能单向移动: (1) 使用方法iterator()要求容器返回一个Iterato...原创 2018-09-19 16:05:30 · 175 阅读 · 0 评论 -
Java: Unresolved compilation problem的解决方法
看这个异常的字面意思就是说的没能解决的编译问题,但是造成这个问题的原因可能会有很多。今天遇到这个问题就是因为刚检出一个新项目,搭建项目的时候忽略了一些细节造成的这个错误。1,你的server的runtime environment可能已经指定了tomcat,但是右键你的项目 properties选项的Java build path中的libraries选项卡中的tomcat可能还是unbo...原创 2018-09-19 13:11:24 · 28610 阅读 · 3 评论 -
Java读取excel表格(原理+实现)
一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢什么是Apache POI?Apache POI是一种流行的API,它允许程序员使用Java程序创建,修改和显示MS Office文件。这由Apache软件基金会开发使用Java分布式设计或修改Microsoft Office文件的开源库。它包含类和方法对用户输入数据或文件到MS Office文档进行解码。Apache ...原创 2018-09-19 09:47:17 · 20007 阅读 · 2 评论 -
java每天5道面试题(七)
1.如何权衡是使用无序的数组还是有序的数组?有序数组最大的好处在于查找的时间复杂度是O(log n),而无序数组是O(n)。有序数组的缺点是插入操作的时间复杂度是O(n),因为值大的元素需要往后移动来给新元素腾位置。相反,无序数组的插入时间复杂度是常量O(1)。2.Java集合类框架的最佳实践有哪些?根据应用的需要正确选择要使用的集合的类型对性能非常重要,比如:假如元原创 2018-01-30 15:02:05 · 251 阅读 · 0 评论 -
java每天5道面试题(十三)
1.说出三种支持重绘(painting)的组件。Canvas, Frame, Panel,和Applet支持重绘。2.什么是裁剪(clipping)?限制在一个给定的区域或者形状的绘图操作就做裁剪。3.MenuItem和CheckboxMenuItem的区别是什么?CheckboxMenuItem类继承自MenuItem类,支持菜单选项可以选中或者原创 2018-02-05 20:13:11 · 218 阅读 · 0 评论 -
java每天5道面试题(六)
1.数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。Array大小是固定的,ArrayList的大小是动态变化的。ArrayList提供了更多的方法和特性,比如:addAll(),removeAl原创 2018-01-29 19:24:12 · 204 阅读 · 0 评论 -
java每天5道面试题(十二)
1.applet安全管理器是什么?它会做哪些工作?applet安全管理器是给applet施加限制条件的一种机制。浏览器可以只有一个安全管理器。安全管理器在启动的时候被创建,之后不能被替换覆盖或者是扩展。2.弹出式选择菜单(Choice)和列表(List)有什么区别Choice是以一种紧凑的形式展示的,需要下拉才能看到所有的选项。Choice中一次只能选中一个选项。Li原创 2018-02-04 10:29:45 · 1009 阅读 · 2 评论 -
java每天5道面试题(五)
1.Iterator和ListIterator的区别是什么?下面列出了他们的区别:Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。Iterator对集合只能是前向遍历,ListIterator既可以前向也可以后向。ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素原创 2018-01-27 16:56:44 · 224 阅读 · 0 评论