![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java后端开发
文章平均质量分 86
visant
热爱编程,热爱生活!
展开
-
RSA加解密简单的处理方法
一、项目引入下面的jar包bcprov-jdk15-133.jarcommons-codec-1.4.jar二、前台生成密文的js工具类,命名为jsencrypt.min.jsvar JSEncryptExports = {};(function(exports) {function BigInteger(a,b,c){null!=a&&("number"==typeo...原创 2019-10-24 17:40:37 · 1111 阅读 · 0 评论 -
Java常用开源框架
1、Java中间件,分布式系统、分布式缓存、消息队列 JAVA中间件:包括服务框架中间件:解决集群间的访问通信问题。消息中间件:解决应用之间的消息传递、解耦、异步的问题。数据访问中间件:解决应用访问数据库的共性问题。 分布式系统:一定是有多个节点组成的系统,一般一个节点就是一台服务器,节点之间是相互连通协作的,这些连通的节点上部署了我们的组件,共同服务于一个大型系统。比如淘宝网,在对浏...原创 2018-04-15 12:28:12 · 2839 阅读 · 0 评论 -
Java中静态、非静态代码块, 无参、有参构造方法执行顺序
基本概念1、静态代码块和非静态代码块:相同点:都是JVM加载类时且在构造函数执行之前执行,在类中都可以定义多个,一般在代码块中对一些static变量进行赋值。 不同点:静态代码块在非静态代码块之前执行。静态代码块只在第一次new时执行一次,之后不再执行。而非静态代码块每new一次就执行一次。2、构造方法: 构造方法的方法名和类名相同;无返回值类型;可以指定参数;完成对象的初始化。...原创 2018-03-28 01:11:09 · 1026 阅读 · 0 评论 -
Java多线程、同步异步及阻塞和非阻塞
1、进程和线程的概念进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存)线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源);在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。多进程: 在操作系统中能同时运行多个任务(程序)多线程: 在同一应用程序中有多个功能流同时执行已经有了进程,为什么还会需要线程呢?主要原...原创 2018-03-28 01:42:30 · 5783 阅读 · 0 评论 -
Java单元测试—Junit+Mock
单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。参考文章:综合教程:https://yq.aliyun.com/articles/44685Junit教程:https://blog.csdn.net/u014294...转载 2018-03-28 11:39:52 · 1658 阅读 · 0 评论 -
Spring和SpringMVC相关面试题
1.Spring中AOP的应用场景、优点? 答:AOP–面向切面编程;是通过动态代理的方式将代码切入到类的指定方法、指定位置上的编程思想,或者说是一种通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态添加功能的技术。具体可以在下面的场景中使用:Authentication 权限、Caching 缓存、Context passing 内容传递、Error handling 错误...转载 2018-04-03 22:55:58 · 2891 阅读 · 2 评论 -
OAuth 2.0 协议原理和认证流程
OAuth 2.0 的定义OAuth 2.0 的规范可以参考 : RFC 6749OAuth 是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。目前,OAuth 的最新版本为 2.0OAuth 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的...原创 2018-04-17 13:54:34 · 808 阅读 · 0 评论 -
CAS单点登录原理及CAS v5.2.4环境搭建
SSO 单点登录:单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。我们目前的系统存在诸多子系统,而这些子系统是分别部署在不同的服务器中,那么使用传统方式的session是无法解决的,我们需要使用相关的单点登录技术来解决。CAS 认证服务中心 CAS...原创 2018-04-17 18:19:59 · 1300 阅读 · 0 评论 -
深入理解多线程编程
一、多线程三大特性 1、原子性:一个操作或者多个操作要么全部执行,要么都不执行。 2、可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看到修改的值。 3、有序性:程序执行的顺序是按照代码的先后顺序执行的,在单线程中,可以保证程序最终的执行结果和代码的顺序执行结果一致。但在多线程中,不一定保证其有序性。二、Java内存模型 java内存模型简称jmm,定义...原创 2018-04-17 18:21:38 · 2520 阅读 · 0 评论 -
RPC、REST API、Netty深入理解
一:RPC RPC 即远程过程调用(Remote Procedure Call Protocol,简称RPC),像调用本地服务(方法)一样调用服务器的服务(方法)。通常的实现有 XML-RPC , JSON-RPC , 通信方式基本相同, 所不同的只是传输数据的格式. RPC是分布式架构的核心,按响应方式分如下两种:同步调用:客户端调用服务方方法,等待直到服务方返回结果或者超时,再继续...转载 2018-04-12 10:34:09 · 4578 阅读 · 0 评论 -
TCP/IP、HTTP协议、Socket网络编程
一、OIS开放式系统互联 - 七层模型 1.硬件(物理层)TCP/IP的最底层是负责数据传输的硬件。这种硬件相当于是以太网或电话线路等物理层的设备。2.网络接口层(数据链路层)网络接口层利用以太网中的数据链路层进行通信,因此属于接口层。也可以认为是网卡驱动。驱动程序是在操作系统和硬件之间起桥梁作用的软件。3.互联网层(网络层)互联网层使用IP协议,它相当于是OSI模型...原创 2018-04-18 20:37:53 · 2291 阅读 · 0 评论 -
WebService接口开发和调用
一、Web Service基本概念WebService是一种可以接收从Internet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。XML:(Extensible Markup L...原创 2018-04-18 20:45:39 · 10123 阅读 · 0 评论 -
HashMap原理深入理解
hashing(散列法或哈希法)的概念散列法(Hashing)是一种将字符组成的字符串转换为固定长度(一般是更短长度)的数值或索引值的方法,称为散列法,也叫哈希法。由于通过更短的哈希值比用原始值进行数据库搜索更快,这种方法一般用来在数据库中建立索引并进行搜索,同时还用在各种解密算法中。HashMap概念和底层结构HashMap是基于哈希表的Map接口的非同步实现。此实现提供所有可选的映...原创 2018-04-23 00:35:41 · 86850 阅读 · 34 评论 -
LinkedList一定比ArrayList的插入和删除效率高吗
ArrayList是实现了基于动态数组的数据结构,LinkedList基于链表的数据结构。原创 2019-09-27 00:19:31 · 2973 阅读 · 5 评论 -
ThreadLocal类深入理解
ThreadLocal是什么早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为T...转载 2018-04-01 16:48:19 · 451 阅读 · 0 评论 -
从JAVA5到JAVA10新特性总结
要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。JDK5新特性1:自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装类中。自动拆箱的过程:每当需要一个值时,被包装对象中的值就被自动地提取出来,没必要再去调用intValue()和doubleValue()...原创 2018-04-01 16:08:08 · 11220 阅读 · 2 评论 -
Java中23种设计模式入门教程
设计模式分类: behavioural 行为型, structural 结构型, creational 创建型 behavioural Patterns:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式 -11 structural Patterns: 适配器模式、装饰器模式、代理模式、外观模式、...原创 2018-03-22 01:12:17 · 3768 阅读 · 0 评论 -
java 查找目录下指定文件名的文件
这个Java类的作用是查找目录文件中特定文件名的文件,并不是查找文件内容。具体代码如下:package net.xsoftlab.baike; import java.io.File;import java.io.FileFilter;import java.util.ArrayList;import java.util.List; //查找目录下指定文件名的文件 public转载 2016-12-16 15:13:43 · 19132 阅读 · 2 评论 -
java 查找目录下文件内容包含某个字符串的文件
这个java类主要是用来查找文件内容的,而不是查找文件名的。主要作用是查找目录下所有文件的文件内容包含特定字符串的文件,并打印输出位置和找到的字符数量。可以定义多个字符进行查找,不需要担心文件格式问题,非常方便!package com.test;import java.io.File;import java.io.FileNotFoundException;import java.io.原创 2016-12-16 14:55:59 · 15593 阅读 · 0 评论 -
统计鼠标点击次数的页面demo
无标题文档var times = 0;//点击次数var preClickTime ;//上一次点击的时间(毫秒)var currentClickTime;//当前点击时间function countClickedTimes(){if(times === 0){preClickTime = new Date().getTime();//首次点击的时间times ++转载 2017-05-02 13:50:20 · 15283 阅读 · 0 评论 -
Java深入了解DTO及如何使用DTO
看了几套源码,其中都有用到DTO,这篇文章主要来谈论一下DTO使用的场合及其带来的好处。在传统的编程中,我们一般都是前台请求数据,发送到Webservice,然后WebService向数据库发出请求,获取数据,然后一层层返回;模型如下:这种比较原始的请求方式带来的缺点有很多,多次 请求耗费一定的网络资源,减慢效率。如果一次性返回整个实体类,还可能造成数据库表结构的泄漏。采用DTO模原创 2016-11-22 09:40:38 · 83262 阅读 · 11 评论 -
SSM项目 JSP页面中超链接含中文文件名,无法下载的问题解决
两种解决方案:一、修改Tomcat配置文件 在server.xml文件 ,找到如下代码 <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />在 />前加URIEncoding="U原创 2017-10-16 17:20:04 · 1782 阅读 · 0 评论 -
Java常用的九种排序方法及代码实现
package com.algorithm.Demo;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class SortRecoder { public static void main(String[] args) { SortRe原创 2017-11-29 20:49:40 · 868 阅读 · 0 评论 -
Java 内存区域和GC机制
Java垃圾回收概况Java GC(Garbage Collection,垃圾收集,垃圾回收)机制,是Java与C++/C的主要区别之一,作为Java开发者,一般不需要专门编写内存回收和垃圾清理代码,对内存泄露和溢出的问题,也不需要像C程序员那样战战兢兢。这是因为在Java虚拟机中,存在自动内存管理和垃圾清扫机制。概括地说,该机制对JVM(Java Virtual Machine)中的内存转载 2017-11-30 16:20:25 · 318 阅读 · 0 评论 -
Eclipse 和 Myeclipse插件安装方法
Eclipse插件安装方法:在工具栏打开 Help –> Install New Software… 在弹出的窗口中open with 地址栏输入以下链接,Enter键搜索 svn插件: http://subclipse.tigris.org/update_1.8.x codeGuide插件: https://p3c.alibaba.com/plugin/eclipse/update原创 2017-11-30 16:36:44 · 968 阅读 · 0 评论 -
springmvc框架定时器功能实现和service注入问题解决
springmvc框架,利用监听器实现定时器功能,以及service注入问题解决原创 2017-10-10 11:39:16 · 1723 阅读 · 1 评论 -
xxx cannot be read or is not a valid ZIP file 解决方案
常见问题1. Archive for required library: ‘WebContent/WEB-INF/lib/readme.txt’ in project ‘xxxxxxxxx’ cannot be read or is not a valid ZIP file2. The project cannot be built until build path errors ar...原创 2018-02-21 23:47:29 · 2894 阅读 · 0 评论 -
Java 查找两个文件夹中不同文件名的文件
获取A,B两个文件夹下(包含子目录)的所有文件对象,并存储到集合中,然后挑出A文件夹中有而B文件夹没有的文件名,最后打印文件名和路径,具体代码如下:package com.test;import java.io.File;import java.io.FileFilter;import java.util.ArrayList;import java.util.HashMap;impo原创 2016-12-15 13:46:15 · 3531 阅读 · 0 评论