java
T-Birds
cmf老公
展开
-
Jar包中Class文件替换
jar -tvf *.jar | grep *.class (*根据自己的jar包和类名替换)2、根据第一步查到的class的具体路径解压出来对应文件。3、 替换解压出来的文件中的class文件。4、将替换过的class文件压缩进jar包中。1、查找替换的class的具体路径。原创 2023-02-27 14:24:21 · 864 阅读 · 1 评论 -
设计模式--单例模式
单例模式顾名思义只有一个实例,1.懒汉式--判断是否为空,为空则新new,不为空则返回,如果多条线程同时访问可能出现并发问题package design.singleton.lanhan;public class Singleton { private static Singleton singleton = null; private Singleton() { }...原创 2018-11-27 22:24:23 · 102 阅读 · 0 评论 -
java 邮箱 email
闲来无聊学习一个java邮箱。。。遇到两个比较恶心的问题1、用QQ服务器发邮件的时候报535的异常,密码也对,服务也开启了,授权码也对,就是发送不出去...结果晚上回家就可以了,不知道为什么...可能是eclipse的问题。2、在发送带附件和图片混合邮件时,不是所有邮箱都能完整接受,我的win10自带的mail就收不到,网页邮箱和手机邮箱都可以import java.io.Bu...原创 2018-12-05 10:06:20 · 719 阅读 · 0 评论 -
设计模式--原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库...原创 2018-12-05 14:22:40 · 149 阅读 · 0 评论 -
Java遍历Properties的所有的元素,四种方法详细总结的代码实例
使用Java代码,详细示范四种遍历Properties中的所有元素,并打印输出的代码实例。直接看代码吧。具体怎么读的文件,我在这就省略啦。我的前一篇文章就是示范怎么读和写Properties文件的。可以参考下。 /** * 输出properties的key和value */ public static void printProp(Properties p...转载 2018-12-21 11:26:16 · 3572 阅读 · 0 评论 -
Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
位运算符主要针对二进制,它包括了:“与”、“非”、“或”、“异或”。从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两个关系运算符来进行逻辑运算,而位运算符主要针对两个二进制数的位进行逻辑运算。下面详细介绍每个位运算符。 1.与运算符与运算符用符号“&”表示,其使用规律如下:两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。public class dat...转载 2019-01-18 22:48:20 · 143 阅读 · 0 评论 -
java虚拟机如何加载类
一、虚拟机加载类的过程类加载到内存中到卸载出内存为止,一共经理七个阶段:加载、验证、准备、解析、初始化、使用、卸载;其中加载、验证、准备、初始化、卸载顺序是固定的;解析的顺序是不定的,它可能在初始化之后再开始;这是为了支持java语言的运行时绑定,这些阶段通常都是交叉地混合式进行的,通常会在一个阶段执行的过程中调用或者激活另一个阶段;1.1 什么时候开始第一个阶段:加载什么...原创 2019-03-20 12:13:48 · 171 阅读 · 0 评论 -
HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!
原文:http://www.javastack.cn/article/2018/hashmap-concurrenthashmap-details/网上关于 HashMap 和 ConcurrentHashMap 的文章确实不少,不过缺斤少两的文章比较多,所以才想自己也写一篇,把细节说清楚说透,尤其像 Java8 中的 ConcurrentHashMap,大部分文章都说不清楚。终归是...转载 2019-03-07 09:12:26 · 167 阅读 · 0 评论 -
java.io.File中的绝对路径和相对路径.
原文出处:http://www.cnblogs.com/qiuh/archive/2013/04/07/3003711.htmlFile类是用来构造文件或文件夹的类,在其构造函数中要求传入一个String类型的参数,用于指示文件所在的路径.以前一直使用绝对路径作为参数,其实这里也可以使用相对路径.使用绝对路径不用说,很容易就能定位到文件,那么使用了相对路径jvm如何定位文件的呢?按照jdk...转载 2019-03-22 10:08:41 · 2934 阅读 · 0 评论 -
Java并发问题--乐观锁与悲观锁以及乐观锁的一种实现方式-CAS
原文出处:https://www.cnblogs.com/qjjazry/p/6581568.html首先介绍一些乐观锁与悲观锁: 悲观锁:总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。再比如Java里面...转载 2019-03-25 23:59:47 · 1110 阅读 · 0 评论 -
SpringCloud学习笔记(三)--springcloud中RestTemplate三种使用方式
//第一种方式(直接new调用url接口,)RestTemplate restTemplate = new RestTemplate();String msg = restTemplate.getForObject("http://localhost:9081/getMsg",String.class);//第二种(通过注册服务的名字来查找ip、port)RestTemplate r...原创 2019-05-16 15:53:28 · 851 阅读 · 0 评论 -
设计模式--策略模式
策略模式指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 定义了一族算法(业务规则); 封装了每个算法; 这族的算法可互换代替 应用场景:1、 多个类只区别在表现行为不同,可以使用Strategy模式,在运行时动态选择具体要执行的行为。2、 需要在不同情况下使用不同的策略(算法),或者策略还可能在未来用其它方式来实现。3、 对客户隐藏具体策略...原创 2018-12-01 13:35:21 · 156 阅读 · 0 评论 -
Spring框架给类的静态变量初始化
工作中遇到一个问题给工具类静态变量初始化,就记录了一下。这里需要注意一下不可以直接使用@Value注解的方式给静态变量初始化赋值;1.第一种是用spring配置文件下面是java类,其中注释的注解是试验注解方式,结果是得不到值;一定要有静态变量的set方法,否则会报错;本来这个demo是测试@PostConstruct注解的;package test;import javax...原创 2018-11-27 19:33:57 · 3604 阅读 · 0 评论 -
面向对象
话说起来,面向对象的产生还有各位产品经理的功劳。为什么这样说呢?因为一开始的时候,并没有面向对象,只有面向过程的概念。面向过程很好理解,指的是程序员接到需求,会把它拆成一个一个的命令,然后串起来交给计算机去执行。举个例子,产品经理说要把大象装进冰箱里。程序员列了几个步骤:把冰箱门儿打开。把大象装进去。把冰箱门儿关上。上面每一个步骤,程序员都会用一个「函数」来实现。「函数」是一些代码的集合体,每个函...转载 2018-03-01 20:52:15 · 117 阅读 · 0 评论 -
SpringMVC
工作原理上面的是springMVC的工作原理图:1、客户端发出一个http请求给web服务器,web服务器对http请求进行解析,如果匹配DispatcherServlet的请求映射路径(在web.xml中指定),web容器将请求转交给DispatcherServlet.2、DipatcherServlet接收到这个请求之后将根据请求的信息(包括URL、Http方法、请求报文头和请求参数Cooki...转载 2018-03-04 00:17:37 · 106 阅读 · 0 评论 -
Java虚拟机内存分布以及垃圾收集
目录一.Java内存区域与内存溢出异常1.1 运行时数据区域1.2 对象的访问1.3 异常(溢出)2 垃圾收集、内存分配策略2.1对象已死?2.2 引用类型2.3方法区的垃圾回收2.4垃圾收集算法2.5 垃圾收集器2.6垃圾收集器参数总结2.7 对象分配一.Java内存区域与内存溢出异常1.1 运行时数据区域内存分布如图:分为程序计数...原创 2018-08-16 00:15:04 · 379 阅读 · 2 评论 -
多线程--Thread、Runnable、Callable、线程池、synchronized、Lock、线程的状态
目录一、创建线程 1.1继承Thread类1.1.1创建ThreadTest继承Thread类1.1.2编写测试类1.2实现Runnable接口1.2.1编写Tickets类1.2.2编写RunnableTest类实现Runnable接口1.2.3编写测试类MainTest1.3实现Callable接口结合FutureTask类使用1.3.1编写Ticket...原创 2018-11-08 23:24:41 · 679 阅读 · 1 评论 -
设计模式--代理模式
三种代理模式静态代理静态代理模式提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.当你需要在别人的功能上新增一些功能时,又不想去修改别人已经写好的代码或者方法,可以通过代理的方式来扩展该方法。缺点是因为代理对象需要与目标对象实现一样的接口,所以会有很多代理类,类太多.同时,一旦接口增加方法,目标...原创 2018-11-19 17:40:02 · 152 阅读 · 0 评论 -
并发、并行、阻塞、非阻塞、同步、异步
并发:在操作系统中,并发是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为...原创 2018-11-19 18:10:02 · 358 阅读 · 0 评论 -
java复制文件的4种方式
java复制文件的4种方式摘要尽管Java提供了一个可以处理文件的IO操作类。 但是没有一个复制文件的方法。 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候。 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式。1. 使用FileStreams复制这是最经典的方式将一个文件的内容复制到另一个文件中。 使用FileInputStream读取文件...转载 2018-11-21 10:09:54 · 649 阅读 · 0 评论 -
ftp上传图片为空,不为空打开没法查看
@Testpublic void testFtpClient() throws SocketException, IOException{//创建FtpClient对象FTPClient ftpClient = new FTPClient();//创建连接ftpClient.connect("192.168.0.105", 21);//登录ftpftpClien原创 2017-11-11 00:07:59 · 1834 阅读 · 0 评论