![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
个人学习
p-knowledge
不断学习,升华
展开
-
java打开浏览器的方式记录
package com.xbz; import java.awt.*;import java.lang.reflect.Method;import java.net.URI;import java.util.Map; /** * @title java调用浏览器打开指定页面 */public class XDemo { private static void bro...原创 2020-04-02 10:08:54 · 185 阅读 · 0 评论 -
JVM jinfo命令(Java Configuration Info) 用法小结
简介jinfo是jdk自带的命令,可以用来查看正在运行的Java应用程序的扩展参数,甚至支持在运行时,修改部分参数。通常会先使用jps查看java进程的id,然后使用jinfo查看指定pid的jvm信息.jps #通过jps来查看当前运行状态的虚拟机进程查看jvm的参数jinfo -flags process_id查看java系统参数jinfo -sysprops process...原创 2020-01-18 09:31:52 · 220 阅读 · 0 评论 -
查询用户登录信息sql
select *from dba_audit_trailwhere returncode=1017 --1017 is invalid username/passwordand timestamp > sysdate -2 /24order by timestamp desc;原创 2020-01-18 08:43:34 · 1187 阅读 · 0 评论 -
GC回收器中的参数说明
原创 2020-01-17 15:47:16 · 175 阅读 · 0 评论 -
垃圾回收器
一、Serial 收集器新生代收集器,单线程收集器,停止所有用户线程,进行gc回收,造成gc停顿;效率高,可与CMS收集器、Serial Old 收集器 配合使用,目标:减短gc停顿时间二 、ParNew 收集器新生代收集器,多线程收集器,可与CMS收集器配合使用,目标:减短gc停顿时间三、Parallel Scavenge 收集器使用复制算法的新生代收集器,目标:达到一个可控制的吞吐量...原创 2020-01-17 15:08:09 · 120 阅读 · 0 评论 -
JVM 垃圾回收算法
1.引用计数器算法实现简单,效率高;但是无法解决对象之间的循环引用问题。2.可达性分析算法1>GC root 对象:虚拟机栈中的引用对象;方法区中类静态属性引用对象;方法区中类常量引用对象;本地方法栈中JNI引用对象。2>引用分类:强引用(Stronge Reference):new的对象软引用 (Soft Reference):SoftReference类弱引用...原创 2020-01-17 10:23:03 · 87 阅读 · 0 评论 -
JAXBContext实现xml和javabean之间的互相转换
/***xmlString转换成对象**createdbycaizhon2018-05-24v1.0*/public static Object convertXmlStrToObject(Classclazz,StringxmlStr)throws Exception{ JAXBContext context=JAXBContext.newInstance(clazz); ...原创 2019-11-01 17:42:21 · 578 阅读 · 0 评论 -
多线程中的volatiile、发布和逸出
volatile修饰的变量,在编译和运行时,都会注意到这个变量时共享的,在该变量的操作或者其他内存操作一起时,不会重排序。 volatile变量不会被缓存在寄存器或者对其他处理器不可见的地方,因此在读取valatile变量时,总会读到最新的值。 volatile是比sychronized关键字更轻量级的的同步机制。 发布:使对象能够在当前作用域之外的代码中使用。 逸出:某个不应该发布的对...原创 2019-09-20 10:26:38 · 161 阅读 · 0 评论 -
发生死锁的条件
1.互斥条件:任务使用的资源中至少有一个是不能共享的。2.至少有一个任务它必须持有一个资源且正在等待获取另外一个当前被别的任务持有的资源。3.资源不能被任务抢占,任务必须把资源释放当作普通事件。4.必须有循环等待,这时,一个任务等待其他任务所持有的资源,后者又在等待另外一个任务所持有的资源,这样一直下去,直到有一个任务在等待第一个任务所持有的资源,使得大家都被锁住。...原创 2019-08-07 07:43:05 · 149 阅读 · 0 评论 -
线程安全性
当多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或协同,这个类都能表现出正确的行为,那么就称这个类是线程安全的。在线程安全类中封装了必要的同步机制,因此客户你无须进一步采取同步措施无状态对象一定是线程安全的竞态条件:读取-修改-写入...原创 2019-07-31 22:07:14 · 68 阅读 · 0 评论 -
代理模式
定义:为另外一个对象提供一个替身或占位符以控制对这个对象得访问。远程代理:可以作为另外一个JVM上对象得本地代表,调用代理得方法,会被代理利用网络转发到远程执行,并且结果会通过网络返回给代理,再由代理将结果转给客户。利用java得RMI技术实现//服务接口类public interface MyRemote extends Remote { public String sayHe...原创 2019-07-19 08:01:33 · 65 阅读 · 0 评论 -
状态模式
定义:允许对象在内部状态改变时改变他的行为,对象看起来好像修改了他的类。状态模式:允许一个对象基于内部状态而拥有一个不同得行为,用类代表状态,一个状态一个类。策略模式:通常会用行为和算法来配置主题类...原创 2019-07-01 07:54:41 · 76 阅读 · 0 评论 -
迭代器和组合模型
迭代器定义:提供一中方法顺序访问一个聚合对象中的各个元素,而不暴露其内部的表示。组合模型定义:允许你将对象组合成树形结构来表现“整体/部分“层次结构。组合能让客户以一致得方式处理个别对象以及对象组合。...原创 2019-06-18 07:32:41 · 247 阅读 · 0 评论 -
模板方法模式
定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。钩子是一种被声明在抽象类中的方法,但只有空的或者默认的现实。钩子的存在,可以让子类有能力对算法的不同点进行挂钩。要不要挂钩,有子类自行决定。好莱坞原则:别调用我,我们会调用你。...原创 2019-06-11 07:44:36 · 53 阅读 · 0 评论 -
二、spring加载应用上下文的五种方式
spring加载应用上下文的五种方式:1.AnnotationConfigApplicationContext:从一个或多个基于java的配置类中加载spring的上下文;2.AnnotationConfigWebApplicationContext:从一个或多个基于java的配置类中加载spring web的上下文;3.ClassPathXmlApplicationContext:从类路径...原创 2019-02-24 21:54:48 · 1715 阅读 · 0 评论 -
三、spring的profile的使用,以及javaconfig配置整合mybatis,以及el表达式的使用
1.在不同的应用环境下,会出现很多关于配置的问题,本篇将介绍解决不同部署环境时,遇到的一些基础配置是如何配置,在不同环境使用不同的配置,例如:数据库配置,采用spring的profile和引入外部的properties文件进行加载配置。以及使用java注解配置,将简化spring配置,更加易于java开发对spring的理解,下面样例,使用spring的注解配置mybatis、以及el表达式的使用...原创 2019-03-09 16:36:21 · 439 阅读 · 0 评论 -
基于javaconfig的Spring的面向切面编程
基于javaconfig的Spring的面向切面编程,术语有通知(advice)、切点(pointcut)、和连接点(joinpoint)。通知:定义了切面是什么以及何时使用,spring有五种通知方式:1.前置通知before:再目标方法前调用通知2.后置通知after:在目标方法后调用通知3.返回通知afterReturn:在目标方法返回后调用通知4.异常通知afterThrowin...原创 2019-03-14 22:15:50 · 182 阅读 · 0 评论 -
1.观察者模式
定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的多有依赖者都会收到通知并自动更新。理解:观察者模式就是在一个状态类发生改变的时,通知显示它状态的类,显示改变后的状态值。举例说明:代码路径(),设计图如下:java内置的观察者模式...原创 2019-04-10 08:20:20 · 177 阅读 · 0 评论 -
单例模式
定义:单例模式确保一个类只有一个实例,并提供一个全局访问点。懒汉模式:/** * 懒汉 */public class LazySingleton { private static LazySingleton lazySingleton; private LazySingleton() { } public static LazySingleton...原创 2019-04-26 08:25:28 · 77 阅读 · 0 评论 -
2.装饰模式
定义:动态地将责任附加到对象上。若要扩展功能,装饰着提供了比继承更有弹性的替代方案。装饰模式主要用在父类无法无法实现所需要的功能,只能通过多子类完成,并且子类依赖父类的结果。在java的io中利用了最多的就是装饰者模式...原创 2019-04-23 21:21:02 · 84 阅读 · 0 评论 -
工厂方法模式
工厂模式:定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。依赖倒置原则:要依赖抽象,不要依赖具体类。 原理高层组建不依赖底层组建,两者都依赖于抽象。抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不是明确指定具体类。...原创 2019-04-25 08:21:09 · 61 阅读 · 0 评论 -
命令模式
定义:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象,命令模式也支持可撤销的操作。命令模式就是将动作封装成命令对象,这样就可以随心所欲地存储、传递、调用他们。这样使得请求对象和执行对象解耦,命令对象封装了接收者和一组动作,通过调用一个方法来调用接收者的动作,这种模式一般使用在事务管理和日志打印等...原创 2019-05-08 07:41:39 · 75 阅读 · 0 评论 -
适配器模式
定义:将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。类适配器(多继承语言),继承对象适配器(java),接口组合...原创 2019-05-21 08:37:32 · 81 阅读 · 0 评论 -
外观模式
定义:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层接口,让子系统更容易使用。外观模式和适配器模式的区别:适配器的意图是:改变接口符合客户的期望;当需要使用一个现有的接口类不符合你的需要时,使用适配器。外观模式的题图是:提供子系统的一个简化接口;当需要简化并统一一个很大的接口时,使用外观。装饰模式:将一个对象包装起来以增加新的行为和责任。而不是改变接口的多少决定使用...原创 2019-05-27 07:49:29 · 65 阅读 · 0 评论 -
一、spring依赖注入,低耦合
spring采用了四种策略来简化java开发的复杂性1.基于POJO的轻量级和最小侵入性编程2.通过依赖注入和面向接口编程实现松耦合3.基于切面和惯例进行声明事编程4.通过切面和模板减少样版编码基于POJO的轻量级和最小侵入性编程在spring之前的很多框架中,都是通过强迫应用继承和接口实现来实现功能,导致应用程序和框架绑死;例如:EJB2中的无状态会话bean。Spring在创建P...原创 2019-02-17 16:26:32 · 812 阅读 · 0 评论