Java
高小毅
Java程序设计语言 + (JVM + Java SE API)(JRE) + Java 其他API = JDK
展开
-
Spring Security认证流程源码跟踪解读
Spring security自身实现了很多的Filer,以完成认证授权功能。step 1 : UsernamePasswordAuthenticationFilter该类继承自AbstractAuthenticationProcessingFilterstep 2 在ProviderManager中,遍历各种providerstep 3 privider调用UserDetailServicestep 4 自定义或secutity提供了实现,用来查询用户信...原创 2021-08-14 19:42:42 · 219 阅读 · 0 评论 -
ReentrantLock锁
java5提供了功能更强大的线程同步机制package thread;import java.util.concurrent.locks.ReentrantLock;/** * 账户类 * @author user * */public class Account2 { //定义可重入锁对象 private final ReentrantLock lock = new Ree原创 2017-01-10 15:01:35 · 612 阅读 · 0 评论 -
无法检测到本地java应用程序
使用jvisualVM工具时,提示“无法检测到本地java应用程序”,同时,用jps命令也无任何输出,原因是hsperfdata_用户 文件夹的权限不足造成的。修改权限即可,搞定~原创 2017-05-21 16:08:29 · 1532 阅读 · 0 评论 -
Java线程的状态
之前也看过Java多线程相关的资料和代码,但没有深入的研究过。最近读了Flume的源码,里面使用了很多多线程的东西,仔细揣摩后受益匪浅。于是又拿起前段时间买的方老师写的《java并发编程的艺术》一书,以下是个人在研读此书后,总结而成~~原创 2017-05-21 16:17:45 · 304 阅读 · 0 评论 -
线程中断
import java.util.concurrent.TimeUnit;public class Interrupted { public static void main(String[] args) throws Exception{ Thread sleepThread = new Thread(new SleepRunner(), "SleepThread"); sle原创 2017-05-29 11:35:53 · 403 阅读 · 0 评论 -
安全地终止线程
import java.util.concurrent.TimeUnit;public class Shutdown { public static void main(String[] args) throws Exception{ Runner runner1 = new Runner(); Thread thread1 = new Thread(runner1, "runn原创 2017-05-29 15:09:54 · 433 阅读 · 1 评论 -
Wait/Notify
import java.util.concurrent.TimeUnit;public class WaitNotify { static Object lock = new Object(); static boolean wasSignalled = false;//为了避免信号丢失 public static void main(String[] args) throws E原创 2017-06-03 14:41:22 · 253 阅读 · 0 评论 -
ThreadLocal的使用
public class TestThreadLocal { private static ThreadLocal tl = new ThreadLocal(){ protected Integer initialValue() { return 0; }; }; public int getNext() { tl.set(tl.get() + 1);原创 2017-06-14 11:04:39 · 312 阅读 · 0 评论 -
自定义同步组件(锁)
import java.util.concurrent.TimeUnit;import java.util.concurrent.locks.AbstractQueuedSynchronizer;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;/** * * 作为锁原创 2017-06-20 14:45:10 · 293 阅读 · 0 评论 -
Spring整合CXF开发基于rest的服务
使用Spring整合CXF,开发rest的服务一、服务端开发1、创建Dynamic Web Project,具体略2、创建pojo类package com.xxx.cxf.pojo;import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name = "student")public clas原创 2017-09-26 15:11:09 · 461 阅读 · 0 评论 -
ThreadLocal在Spring中的应用
public T get() { Thread t = Thread.currentThread(); ThreadLocalMap map = getMap(t); if (map != null) { ThreadLocalMap.Entry e = map.getEntry(this); if (原创 2017-12-16 18:04:47 · 863 阅读 · 0 评论 -
谈Spring的事务管理
开篇前 Spring发展至今已到v5,本篇旨在探究Spring对于事务管理的方式的发展变化,算是对许久以来使用的总结,同时也希望和想深入Spring事务管理的小伙伴们做一个分享。 开篇 Spring作为一个“非侵入式”的容器,在事务管理方面也一直朝着这方面努力。本篇将从Spring声明性事务的实施,Spring是怎么支持事务的,等方面说开。 Spring声明性事务的实施 Spr原创 2017-12-28 23:08:19 · 343 阅读 · 0 评论 -
cookie跨域问题
最近在部署预发布环境,遇到不少小坑。先来说下整个项目的服务架构,有web module和provider module,web依赖provider服务,provider依赖其他服务。这里比较关键的就是注册中心了,之前项目组没有预发布环境,我在本地是通过“|”的方式配置多个注册中心,一个是我本机zk,另一个是测试环境的zk。这种配置方式感觉比较混乱,一直想改进,正好赶上项目组搞预发布环境,给提供了统...原创 2018-05-03 23:17:39 · 391 阅读 · 0 评论 -
synchronized关键字
以上是synchronized修饰方法的例子原创 2017-01-10 14:12:51 · 290 阅读 · 0 评论 -
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
我的环境如下:MyEclipse2014tomcat5.5部署应用后,一直报错。2017.07.18 15:28:40 ERROR [/YssTaQs](3746):? Error configuring application listener of class org.springframework.web.context.ContextLoaderListenerjava原创 2017-07-19 09:12:20 · 201 阅读 · 0 评论 -
Eclipse 发布Web Project到Tomcat的三种方法
Eclipse 发布Web Project到Tomcat的三种方法以前开发一直使用的是MyEclipse,通过几下鼠标操作,"web工程被Myeclipse自动部署到了webapps下面",很是方便.Myeclipse是如何帮助我们把工程自动部署到webapps呢?通过这个疑问才发现,不是Myeclipse把工程部署到webapps下面,而是tomcat自己,试想一下,My转载 2016-09-09 12:30:03 · 966 阅读 · 0 评论 -
面向对象——类的定义
Java的类中一般可包括三种成员,分别是构造器、成员变量和方法。定义成员变量的语法格式如下:[修饰符] 类型 名 = [默认值];其中,修饰符可以是public、protected、private、static、final。定义方法的语法格式如下:[修饰符] 返回值类型 方法名(形参列表) {//方法体}其中,修饰符可以是public、protected、priv原创 2016-05-25 16:05:53 · 678 阅读 · 0 评论 -
面向对象——this详解
在写程序的过程中,有时可能对一些关键字的用法不是很清楚,最后程序的运行结果可能不是我们想要的,甚至导致错误。在Java中有一个this关键字,它总是指向调用this所在方法的对象。this的使用分为两种情形:1、在构造器中使用;2、在普通方法中使用;下面根据笔者的经验分别叙述这两种情形。一、构造器情形this在构造器中,引用的是该构造器进行初始化的对象。在构造器中访问其他方法时原创 2016-05-26 10:14:27 · 761 阅读 · 0 评论 -
Java数据类型
Java语言支持两种数据类型:基本类型和引用类型。引用类型是面向对象语言中的一种数据类型,在java中引用数据类型是指对一个对象的引用,这个对象可以是类的实例或者数组。Java的基本数据类型分为四类(8个):整数类型(byte,short,int,long),字符类型(char),浮点类型(float,double),布尔类型(boolean)。说明:在Java中字符串不是基本数据类型,它原创 2016-05-21 18:46:37 · 383 阅读 · 0 评论 -
Java形参个数可变的方法
在Java 5之后,允许定义形参个数可变的方法。定义方法的例子如下:public class Test { public static void testMethod(int a, String... b) { for(String temp: b) { //b被作为数组处理 } }}调用时可用testMethod(4, "开心麻花",原创 2016-06-12 19:50:54 · 449 阅读 · 0 评论 -
从一道面试题来认识java类加载时机与过程
转载一from tuicool的文章~1 开门见山#以前曾经看到过一个java的面试题,当时觉得此题很简单,可是自己把代码运行起来,可是结果并不是自己想象的那样。题目如下:class SingleTon { private static SingleTon singleTon = new SingleTon(); public static int count转载 2016-08-28 10:59:07 · 532 阅读 · 0 评论 -
Spring3 中的Schedule Task Cron表达式
Cron表达式使用格式SecondsMinutesHoursDayofMonthMonthDayofWeek[Year]秒分时天月周[年]每个符号代表的含义:*:匹配该域的任意值;如*用在分所在的域,表示每分钟都会触发事件。?:匹配该域的任转载 2016-12-28 10:23:35 · 3005 阅读 · 0 评论 -
eclipse 中开启断言
http://www.cnblogs.com/DreamDrive/p/5417283.html转载 2016-12-08 14:10:55 · 433 阅读 · 0 评论 -
使用eclipse的tomcat插件部署基于maven的Java web工程
最近在各种环境中来回折腾,eclipse,idea,tomcat,jetty。。。总结下个人认为最为方便的部署方法:一、使用maven构建工程maven是强大的构建工具,使用maven构建的项目一般会有如下的目录结构:可以看到在target下,在执行mvn install命令后,会有如上图所示的目录结构。其中,会有一个maven为我们装配好的we原创 2016-11-18 14:55:04 · 1803 阅读 · 0 评论 -
eclipse中的.project 和 .classpath文件的具体作用
eclipse中的.project 和 .classpath文件的具体作用最近做项目在svn同步时,注意到了这几个文件,研究了下.project是项目文件,项目的结构都在其中定义,比如lib的位置,src的位置,classes的位置.classpath的位置定义了你这个项目在编译时所使用的$CLASSPATH这些文件你用文本编辑器就能察看了转载 2016-07-29 13:29:53 · 644 阅读 · 0 评论 -
Java类装载器研究
最近在公司做一个行李监控系统,主要使用了Spring。之前看过Spring方面的书,所以项目还算得心应手。但本人打算深入的研究Spring的原理,于是有了此文。Spring能帮助开发者自动管理bean的创建和注入,这是多么神奇的事情。这也得益于Java的反射机制。在反射机制中,我研究了下类装载器的相关资料,现总结如下:ClassLoader是一个抽象类,它能在运行时查找并装入Class字节原创 2016-07-31 23:44:47 · 402 阅读 · 0 评论 -
Maven中的DependencyManagement和Dependencies
这里介绍一个在父项目中的根结点中声明dependencyManagement和dependencies的区别dependencyManagementMaven 使用dependencyManagement 元素来提供了一种管理依赖版本号的方式。通常会在一个组织或者项目的最顶层的父POM 中看到dependencyManagement 元素。使用pom.xml 中的dependenc转载 2016-11-14 10:56:03 · 265 阅读 · 0 评论 -
eclipse里maven项目An error occurred while filtering resources解决办法
在使用eclipse构建maven项目时,出现错误提示:An error occurred while filtering resources,右键项目--》maven--》update project -->搞定~原创 2016-09-22 11:16:50 · 6193 阅读 · 4 评论 -
Java数组详解
在Java语言中,数组的初始化一旦完成,它在内存中占有的空间大小也就固定了,即不会随着某个元素的数据的清除而改变。值得指出的是,在Java中数组是一种引用类型,当然也可使用该类型来定义变量。一、数组的定义在Java中定义数组的常用格式如下:type[] arrayName;说明:定义数组只是定义了一个引用变量,该变量并未指向任何有效的内存空间,因此也不能指定长度。二、数组的原创 2016-05-24 13:53:28 · 407 阅读 · 0 评论