摘要:单点登录 1、基于Cookie的单点登录的回顾 基于Cookie的单点登录核心原理: 将用户名密码加密之后存于Cookie中,之后访问网站时在过滤器(filter)中校验用户权限,如果没有权限则从Cookie中取出用户名密码进行登录,让用户从某种意义上觉得只登录了一次。 该方式缺点就是多次传送用户名
阅读全文
摘要:Spring Bean的生命周期 Spring Bean的生命周期 可以简述为以下九步 实例化bean对象(通过构造方法或者工厂方法) 设置对象属性(setter等)(依赖注入) 如果Bean实现了BeanNameAware接口,工厂调用Bean的setBeanName()方法传递Bean的ID。(
阅读全文
摘要:Android应用程序保活 Android进程 Android在内存较低的情况下,会关闭一些优先级较低的进程以增大内存运行更重要的进程,而在这个进程中的所有线程,也会被同时销毁。 Android中,进程的生命周期都是由系统控制的。即使用户在界面上关掉一个应用,切换到了别的应用,那个应用的进程依然是存
阅读全文
摘要:Android加载图片内存溢出的解决办法 改变图片大小尺寸 bitmap 设置图片尺寸,避免 内存溢出 OutOfMemoryError的优化方法 android 中用bitmap 时很容易内存溢出,报如下错误:Java.lang.OutOfMemoryError : bitmap size exc
阅读全文
摘要:Android音频压缩的方法 音频基础知识 采样和采样频率: 一秒钟内采样的次数称为采样频率。采样频率越高,越接近原始信号,但是也加大了运算处理的复杂度。根据Nyquist采样定理,要想重建原始信号,采样频率必须大于信号中最高频率的两倍。人能感受到的频率范围为20HZ--20kHZ, 一般音乐的采样
阅读全文
摘要:nginx Nginx简介 nginx概述 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。 nginx作
阅读全文
摘要:java各个版本新特性 JDK 8 1:接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 上面接口在拥有calculate方法之外同时还定义了sqrt方法,实现了Formula接口的子类只需要实现一个calc
阅读全文
摘要:Spring事务 什么是事务 Transaction 也就是所谓的事务了,通俗理解就是一件事情。从小,父母就教育我们,做事情要有始有终,不能半途而废。 事务也是这样,不能做一半就不做了,要么做完,要么就不做。也就是说,事务必须是一个不可分割的整体,就像我们在化学课里学到的原子,原子是构成物质的最小单
阅读全文
摘要:java内存泄露与内存溢出 基本概念 内存泄露:指程序中动态分配内存给一些临时对象,但是对象不会被GC所回收,它始终占用内存。即被分配的对象可达但已无用。 内存溢出:指程序运行过程中无法申请到足够的内存而导致的一种错误。内存溢出通常发生于OLD段或Perm段垃圾回收后,仍然无内存空间容纳新的Java
阅读全文
摘要:权限管理及shiro框架 权限管理简介 做系统时肯定遇到最常见的就是不同的用户需求是不一样的,就拿登陆来说,一个办公管理系统,不同部门的人肯定要求的功能和权限是不一样的,那你不可能对每一个部门都写一个登陆页面,给不同的url吧!亦或者在下边选择你是什么部门的人?那每个部门还有等级。再继续选,然后个每
阅读全文
摘要:java JNI机制 JNI概述及简单例子介绍 系统环境代指本地操作系统环境,它有自己的本地库和CPU指令集。本地程序(Native Applications)使用C/C++这样的本地语言来编写,被编译成只能在本地系统环境下运行的二进制代码,并和本地库链接在一起。本地程序和本地库一般地会依赖于一个特
阅读全文
摘要:Lucene及全文搜索实现原理 全文搜索 全文搜索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文搜索搜索引
阅读全文
摘要:java中的wait、notify、notifyAll、join Java虚拟机上运行的每个对象来说都有一个内置的监视器(Monitor),Monitor里面又有一个内置对象和两个池,锁(monitor)池和等待(wait)池(等待队列),而这两个池又与Object基类的wait、notify、no
阅读全文
摘要:countdownlatch AQS 在介绍countdownlatch时首先需要简单介绍一下AQS(AbstractQueuedSychronizer)队列。AQS队列的实现依赖内部的同步队列(FIFO双向队列),如果当前线程获取同步状态失败,AQS会将线程及其等待状态等信息构造成一个Node,将
阅读全文
摘要:java中的锁 Java锁的类别 java中的锁按照不同的类别可以有如下的分类: 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/非公平锁 分段锁 偏向锁/轻量级锁/重量级锁 自旋锁 乐观锁/悲观锁 独享锁/共享锁 互斥锁/读写锁 可重入锁 公平锁/非公平锁 分段锁 偏向锁/轻量级
阅读全文
摘要:java正则表达式 1匹配验证-验证Email是否正确 public static void main(String[] args) { // 要验证的字符串 String str = "service@xsoftlab.net"; // 邮箱验证规则 String regEx = "[a-zA-Z
阅读全文
摘要:java优先队列 我们知道队列是遵循先进先出(First-In-First-Out)模式的,但有些时候需要在队列中基于优先级处理对象。举个例子,比方说我们有一个每日交易时段生成股票报告的应用程序,需要处理大量数据并且花费很多处理时间。客户向这个应用程序发送请求时,实际上就进入了队列。我们需要首先处理
阅读全文
摘要:java的引用类型 引用类型 无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否可达,判断对象是否可被回收都与引用有关。 Java提供了四种强度不同的引用类型。 强引用 被强引用关联的对象不会被回收。 使用new一个新对象的方式来创建强引用。 软引用 被软引用关联的对象只有
阅读全文
摘要:Java IO 概述 Java的I/O大概可以分成以下几类: 磁盘操作:File 字节操作:InputStream和OutputStream 字符操作:Reader和Writer 对象操作:Serializable 网路操作:Socket 新的输入/输出:NIO 磁盘操作:File 字节操作:Inp
阅读全文