
java
文章平均质量分 59
jimiStephen
把握当下,勤学活用,多问多反思。
展开
-
Apache Shiro身份验证的特性
为了帮助您避免自己构建和维护集成,Shiro为流行的数据源(如LDAP、Active Directory和JDBC)提供了开箱即用的领域。层次结构可以帮助您更轻松地诊断与authentication.In相关的代码错误或客户服务问题,如果需要,丰富性可以帮助您创建更复杂的身份验证功能。身份验证是实名认证的过程——你试图验证用户是他们说他们这样做的人,用户需要提供某种你的系统理解和信任的身份证明。内置的“记住我”-Shiro API中的标准是在用户返回您的应用程序时记住他们的能力。原创 2024-07-16 14:47:52 · 453 阅读 · 0 评论 -
Spring-boot context.initializer.classes 配置的使用
方法会被调用,你可以在这个方法中执行任何需要在应用上下文初始化时完成的任务,比如添加额外的Bean定义、修改配置参数等。这些类可以在Spring应用上下文初始化之前执行一些自定义的初始化逻辑。类,它们将会按照它们在配置文件中出现的顺序依次执行。在这个例子中,当Spring Boot应用启动时,在Spring Boot中,配置文件中指定一个或多个实现。请注意,如果你指定了多个。或者,如果你更喜欢使用。是一个属性,允许你在。原创 2024-04-10 09:11:59 · 604 阅读 · 0 评论 -
java 11 新特性学习
-- 查看是否打开日志开关show variables like 'log_bin'-- 查看数据库支持的编码show character set--查看数表列show columns fromtable_name;--查看表的创建表的语句show create table table_name;...原创 2023-06-18 16:43:53 · 2106 阅读 · 0 评论 -
spring-framework (Version 5.2.9.RELEASE)-核心技术 bean
Bean 概览一个 Spring IoC 窗口中管理着一个或者多个bean。这些bean根据我们提供的配置给窗口进行创建(如:xml中 的定义 )在容器中,bean的定义是用 BeanDefinition 来表示,它包含以下的信息:通过包来限定类名:通常,是用实现类来定义bean。Bean 行为配置的元素,它的状态体现在容器中(范围,生命周期的回调,等等)一个bean要工作需要依赖其它bean。这种依赖关系我们叫作协作或者依赖。其他配置,在新建对象之前 ,如:容器大小的限制,或者管原创 2020-10-25 22:53:39 · 1051 阅读 · 0 评论 -
JVM 调优-之jcmd
一个java应用经常会出现许多性能上面的问题。大多的的性能问题是由不同的jvm调优引起的。JDK/JRE已经提供一些工具。作为一名开发者,最好需要有相关jvm高优的相关知识,这样可以帮助我们更好的创建高性能应用。显然,知识所有工具的知识是最好的,但是有一个工具是由java它自己提供的(java7开始提供),它可以获得java应用的重要信息。它就是jcmd,使用它可以获取许多信息。什么是jcmd ?在使用手册上面介绍,jcmd是向运行的JVM发诊断命令的一个工具。 这个工具可以获取JVM运行时的许多.翻译 2020-10-08 11:17:20 · 1167 阅读 · 0 评论 -
java-基础-synchronized 关键字
Java-技术专题-synchronized关键字synchronized特点1.1 简介Synchronized是基于monitor实现的,Synchronized经过编译后,会在同步块前后分别形成monitorenter和monitorexit两个字节码指令,在执行monitorenter指令时,首先要尝试获取对象锁,如果对象没有别锁定,或者当前已经拥有这个对象锁,把锁的计数器加1,相应的在执行monitorexit指令时,会将计数器减1,当计数器为0时,锁就被释放了。如果获取锁失败,那当前转载 2020-10-02 15:43:16 · 187 阅读 · 0 评论 -
java基础-反射(reflect)
JAVA 反射动态语言动态语言,是指程序在运行时可以改变其结构:新的函数可以引进,已有的函数可以被删除等结构上的变化。比如常见的 JavaScript 就是动态语言,除此之外 Ruby,Python 等也属于动态语言,而 C、 C++则不属于动态语言。 从反射角度说 JAVA 属于半动态语言。在 Java 中的反射机制是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法;并且对于任意一个对象,都能够调用它的任意一个方法;这种动态获取信息以及动态调用对象方法的功能成为 Java 语言的原创 2020-09-19 17:15:16 · 279 阅读 · 0 评论 -
java基础-什么是 AQS(抽象的队列同步器)
AbstractQueuedSynchronizer(java.util.concurrent.locks.AbstractQueuedSynchronizer) 类如其名,抽象的队列式的同步器, AQS 定义了一套多线程访问共享资源的同步器框架,许多同步类实现都依赖于它,如常用的ReentrantLock/Semaphore/CountDownLatchAQS 定义两种资源共享方式Exclusive 独占资源-ReentrantLockExclusive(独占,只有一个线程能执行,如 Reent原创 2020-09-17 15:25:57 · 273 阅读 · 0 评论 -
Spring AOP 中包含的advice类型
Spring AOP 中包含的advice类型Before advice: 在执行切点前的通知,可以判断是否可以执行该切点。 After returning advice: 在运行完切点完未返回之前,进行通知。 After throwing advice: 在运行完切点时抛出异常进行的通知。 After (finally) advice:执行完该切点后,进行的通知。 Around ad...原创 2020-03-27 14:05:33 · 1126 阅读 · 0 评论 -
spring-AOP基本概念
AOP 基本概念:Aspect:切面,针对一块代码类的处理。事务管理,就是一个最好的例子。在Spring AOP中可以使用@Aspect定义。 Join point:连接点,程序的执行,例如,一个方法的执行或者处理一个异常。在Spring AOP中表示一个方法的执行。 Advice: 通知,在切面的一个特殊动作。有不同的通知类型如:“around”, “before” 和 “after”...原创 2020-03-27 14:04:19 · 241 阅读 · 0 评论 -
No SecurityManager accessible to the calling code
在前端发起请求,请求一个Controller,就会有下面的错误:十二月 02, 2016 3:38:35 下午 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() for servlet springServlet threw exceptionorg.apache.shiro.Unavailabl原创 2016-12-19 19:39:20 · 12191 阅读 · 0 评论 -
eclipse spring gradle 插件并导入spring gradle项目
一,插件安装1,插件安装参照:http://docs.spring.io/sts/docs/2.9.0.old/reference/html/gradle/installation.html 在文章里面讲了很详细。2,安装完成后,在window-preferences 里面可以看到如下的截图。如果你配置有下载gradle可以指定自己的gradle二,导入gradle项目。1,file-import原创 2017-06-11 14:31:32 · 2837 阅读 · 0 评论 -
关于记录日志的思考
关于记录日志的思考在开发的过程中,我们会记录日志。这样可以方便关于观察程序的执行情况,和问题的所在。在看日志就可以知道,当前的程序是在执行什么操作,操作的结果是什么?个人认为这样的日志才是有效的日志。个人认为记录日志可以从以下的几个方面入手:(欢迎大家提出建议)记录执行的方法名或者类名等 记录方法名或者类名,这样我们可以准确的定位到当前执行的是什么服务。记录服务的输入与输出 输入可以知道用户原创 2016-12-17 10:48:44 · 437 阅读 · 0 评论 -
java eclipse远程调试
1,在启动命令里添加下面参数变量,(意思是启动远程调试模式,并开启10099端口监听)-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=10099,server=y,suspend=n然后启动程序。2, 打开 eclipse 右击要调试的项目->Debug As->Debug Con原创 2016-08-12 16:29:37 · 460 阅读 · 0 评论 -
异常处理-No SecurityManager accessible to the calling code
十二月 02, 2016 3:38:35 下午 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() for servlet springServlet threw exceptionorg.apache.shiro.UnavailableSecurityManagerException: N...原创 2019-07-07 21:54:00 · 3906 阅读 · 0 评论 -
dom和sax(simple api for xml) 概念
来自:http://www.runoob.com/dom/dom-intro.html什么是 DOM?DOM 是 W3C(World Wide Web Consortium)标准。DOM 定义了访问诸如 XML 和 HTML 文档的标准:"W3C 文档对象模型(DOM,全称 Document Object Model)是一个使程序和脚本有能力动态地访问和更新文档的内原创 2016-09-11 22:26:32 · 418 阅读 · 0 评论 -
dubbo 无法启动 injvm.InjvmProtocol export service
场景重现dubbo启动main方法后台打印出来的日志 zookeeper 控制台看到的日志如下: 问题解决问题出现首先想到的是找度娘,谷歌解决。搜索了一圈,只看到有说明。InjvmProtocal 是dubbo默认隐式协议。zookeeper问题排查首先,环境zookeeper存储数据对应的目录,判断对应的文件是否能够写入。这里处理比较粗暴,删除数据并重启dubbo服务还是如上错误。项目本原创 2017-07-19 16:39:57 · 4993 阅读 · 0 评论 -
JSONPath-简单入门
原文来自:http://goessner.net/articles/JsonPath/JSONPath - 是xpath在json的应用。xml最大的优点就有大量的工具可以分析,转换,和选择性的提取文档中的数据。XPath是这些最强大的工具之一。如果可以使用xpath来解析json,以下的问题可以被解决:1,数据不使用特殊的脚本,可以在客户端交互翻译 2017-09-02 17:30:23 · 68020 阅读 · 14 评论 -
dubbo 提示No such extension Filter for filter/com.alibaba.dubbo.rpc.Filter
现象:启动spring项目,可以正常的打印出日志。 spring 可以启动但一直会卡住,也不报错。这种原因。出现这种情况,最有可能的原因就是spring相关的配置文件配置错误。需要检查相关的配置文件。/META-INF/dubbo 目录下的com.alibaba.dubbo.rpc.Filter文件里加了Filter=com.hylandtec.pm.common.fi原创 2016-06-26 16:32:33 · 17735 阅读 · 7 评论 -
jsp 引入页面的三种方式
<%@ page language="java" pageEncoding="GBK"%><%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&q原创 2018-08-17 08:55:22 · 2929 阅读 · 0 评论 -
从eclipse 到IDEA 极简入门
作为一个java开发工作者,工欲善其事必先利其器。我们经常用的就是eclipse 和 IEDA这两个主流的开发工具。使用的一段时间,作为一个使用习惯eclipse转化到IDEA需要知道什么?1,了解IDEA与eclipse之间概念区别以是官方文档给出的区别,这样就避免了我们在使用过程出现问题;2,我们在写代码经常会用到一些文本编辑的快捷,IEDA原生不做任何修改有如下的快捷键:...原创 2018-11-10 15:29:13 · 328 阅读 · 0 评论 -
测试-简单了解
做为一个工程狮,我们写出来的东西,难免需要进行一系列的测试。或者做为一个测试人员怎么样成为一个高级的测试人员。经过一些简单了解。大概可以经过以下的步骤来提升自己。(也欢迎大家提出意见,共同进步。)1,功能测试,就是我们常说的白盒测试。(postman,soapui,jmeter,doclever)2,MOCK测试,在开发未开发完成我们可以根据自己的生成数据进行测试(swagger,mo...原创 2018-12-15 11:15:33 · 255 阅读 · 0 评论 -
Tomcat容器下 jdni 数据库连接也的配置 (oracle,mysql)
Tomcat5.5容器下JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。配置数据库的服务。文章的主要内容:·翻译 2013-12-14 23:39:28 · 3312 阅读 · 0 评论 -
selenium 入门
selenium 使用的时候要注意浏览器的版本和对应 jar 包浏览器的环境变量设置System.setProperties("key","value")判断页面元素加载完成web的自动化测试中,我们经常会遇到这样一种情况:当我们的程序执行时需要页面某个元素,而此时这个元素还未加载完成,这时我们的程序就会报错。怎么办?等待。等待元素出现后再进行对这个元素的原创 2016-05-06 21:20:08 · 1878 阅读 · 0 评论 -
selenium 学习-js执行,事件模拟,页面加载等待
selenium 使用的时候要注意1,浏览器的版本2,和对应 jar 包3,浏览器的环境变量设置System.setProperties("key","value")如下(创建浏览器对象):System.getProperties().setProperty("phantomjs.binary.path", “"phantomjs-2.1.1-windows/bin/ph原创 2016-05-06 21:06:42 · 24414 阅读 · 0 评论 -
Java常用排序算法/程序员必须掌握的8大排序算法
本文由网络资料整理而来,如有问题,欢迎指正!分类:1)插入排序(直接插入排序、希尔排序)2)交换排序(冒泡排序、快速排序)3)选择排序(直接选择排序、堆排序)4)归并排序5)分配排序(基数排序)所需辅助空间最多:归并排序所需辅助空间最少:堆排序平均速度最快:快速排序不稳定:快速排序,希尔排序,堆排序。先来看看8种排序之间的关系:转载 2014-02-26 08:55:51 · 1240 阅读 · 0 评论 -
玉兔号控制程序-程序实现题目
背景介绍:2013年12月14日21时11分,嫦娥三号在月球正面的虹湾以东地区着陆。 2013年12月15日凌晨,嫦娥三号搭载的“玉兔”号月球探测器成功与嫦娥三号进行器件分离。 题目:假设我们是中国国家航天局人员,当玉兔号离开嫦娥三号之后,我们需要能够控制玉兔号在月球上开展探测工作。我们先假定虹湾区是一个很大的平原,我们在虹湾区建立一个坐标轴,如下图:原创 2014-02-21 15:55:30 · 1990 阅读 · 0 评论 -
java中的xpath,读取xml文档。
1,入门XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。起初 XPath 的提出的初衷是将其作为一个通用的、介于XPointer与XSL间的语法模型。但是 XPath 很快的被开发者采用来当作小型查询语言。2,了解如果要定位xml文档中的某一节点,原创 2014-01-07 00:34:31 · 8077 阅读 · 2 评论 -
java socket的简单学习
public class SocketTest { /** * @param args */ public static void main(String[] args) { Socket s = null; try { //Socket('连接的地址','连接超时的毫秒数');在这里建议设置超时的毫秒数,要不然如果请求不到资源会阻塞,一直请求。 s原创 2013-12-28 21:30:04 · 825 阅读 · 0 评论 -
java中的url和uri
URL和URLConnection类封装了大量的复杂的实现细节,这些细节涉及到怎样从远程站点获取信息。例如:我们可以通过传递一个字符串来构建一个URL对象URL url = new URL("urlString"); 如果只是想要从该资源获取内容,可以用URL类提供的openStream方法。返回一个InputStream对象。然后按照一般的方法进行获取,比如:In原创 2013-12-28 14:53:47 · 8444 阅读 · 0 评论 -
jsp base标签与meta标签学习
String path = request.getContextPath();//得到当前的项目名字。String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";//当前项目的基础url.%> ">原创 2013-11-12 22:37:07 · 3728 阅读 · 0 评论 -
<jsp:include page="">和<%@include page=""%> 标签学习
del定义文档中被删除的文本内容,ins用来描述文档中的更新和修正,del的浏览器默认样式是带删除线,ins默认是带下划线的,这点也可以很好的说明两者的用法,通常情况下两个元素配合起来意思使用。 ins和del两个元素在HTML中,既可以作为块级(block-level)元素,也可作为内联(inline)元素,但是不可以同时作为 这个两个元素。所以它们可以包含段落中的一个或几个文字,也翻译 2013-09-16 18:40:47 · 10288 阅读 · 0 评论 -
Struts Exception GenericsObjectTypeDeterminer
Struts Exception:Caused by: java.lang.ClassNotFoundException: com.opensymphony.xwork2.util.GenericsObjectTypeDeterminer 网上说xwork版本有问题,我的是 struts-core-2.0.9 的struts。xwork是 2.1.2的版本,我换了个 2.0.4原创 2013-08-22 08:08:07 · 994 阅读 · 0 评论 -
struts-config.xml 在myeclipse打开是提示 Project xxx is not configured as a MyEclipse Web-Struts Project
Project xxx is not configured as a MyEclipse Web-Struts Project解决办法一:,在项目下的.project文件里添加一行代码com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature,结果如下 ......转载 2012-05-05 08:59:07 · 4490 阅读 · 1 评论 -
java 类的加载,与获得相应的方法
package com.yxy.core;import java.lang.reflect.Method;import java.lang.reflect.Type;import static java.lang.System.out;/** * @author yxy * 执行的参数是:类名 方法名 * java MethodSpy java.lang.Class getCons原创 2014-02-16 14:40:52 · 2163 阅读 · 0 评论 -
java 实例化,执行。
package com.yxy.core;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Type;import java.util.Locale;import static java.lang.System.out;i原创 2014-02-16 15:54:29 · 1472 阅读 · 0 评论 -
java 解决死锁(程序模拟)
为了解决程序因占用资源,出现资源争抢,而出现的程序进入等待的状态(死锁)。解决这种问题:我们可以给资源加上“锁”,在每次调用前进行判断当前锁的状态,再进行执行。package com.yxy.thread;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;i原创 2014-03-07 10:04:44 · 2634 阅读 · 0 评论 -
jvm 调优中的一些概念
转载自:http://pengjiaheng.iteye.com/blog/518623数据类型 Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte转载 2016-03-30 22:29:50 · 440 阅读 · 0 评论 -
jps 命令详解
jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写。非常简单实用。 命令格式:jps [options ] [ hostid ] [options]选项 :-q:仅输出VM标识符,不包括classname,jar name,arguments in main m转载 2016-01-12 18:50:53 · 6393 阅读 · 0 评论 -
java应用系统运行速度慢的解决方法
场景:我们在部署了TOMCAT应用,刚刚开始启动的一个段时间内。访问系统的速度比较快。但是过了一段时间,应用系统就慢慢的变慢起来了。服务的访问加载时间慢慢变长。 问题解决思路: 1,查看部署应用系统的系统资源使用情况,CPU,内存,IO这几个方面去看。找到对就的进程。 2,使用jstack,jmap等命令查看是JVM是在在什么类型的内存空间中原创 2016-02-05 23:50:31 · 10888 阅读 · 3 评论