JAVA基础
JJC001
这个作者很懒,什么都没留下…
展开
-
JAVA代理模式与延迟加载
代理模式:系统启动时,如果对系统组件全部进行加载,则会拖慢系统启动时间,使得客户体验变的很低。与代理模式相关的其中一个技术就是延迟加载,当系统启动时,将消耗资源最多的方法都适用代理模式分离,而在用户真正做操作时,再由代理类,单独去加载真实的类,完成客户的请求。这个过程就是使用了代理模式完成了系统的延迟加载。延迟加载:核心思想:如果系统当前没有使用这个组件,则不需要真正初始化它。原创 2016-06-07 22:40:39 · 545 阅读 · 0 评论 -
使用apache的FTPClient修改FTP服务器上的文件名称
使用FTPClient类的rename方法修改文件的名称时,修改不成功。最终问题定位在没有权限对文件夹修改,对文件夹设置写的权限后就行了。原创 2016-09-07 14:25:21 · 5548 阅读 · 0 评论 -
JAVA初始化
java code:public class Animal { void eat(){} Animal() { System.out.println("animal eat"); eat(); System.out.println("animal eat finish"); }}public class Dog { private int i = 1; Dog(i原创 2016-06-12 07:29:11 · 489 阅读 · 0 评论 -
获取N天前后的日期
javacode:/** * 获取给定日期N天后的日期 dateTime : 20160909 格式 * */ public static String getDateAfterNDays(String dateTime, int days) { SimpleDateFormat sdf = new SimpleDateFormat(YYYYM原创 2017-03-29 14:14:49 · 463 阅读 · 0 评论 -
后端数据通过fastjson转换后传给前端出现$ref:
点我查看哦转载 2017-03-30 09:39:24 · 1739 阅读 · 0 评论 -
浏览器输入网址从FTP服务上下载文件
实现思路:请求服务器拿到文件二进制数据,使用HttpServletResponse写出。第一步:连接linux服务器上FTP(前提是服务器上要先配置ftp服务)需要导入 org.apache.commons包private static FTPClient getConnect(String chilPath) { FTPClient connect = new FTPClient原创 2016-06-09 07:28:03 · 14610 阅读 · 1 评论 -
FTPClient retrieveFileStream
InputStream is = ftpClient.retrieveFileStream(filename); 当调用此方法得到输入流,流操作过后必须先关闭,再调用completePendingCommand方法,不然后面对ftpClient的操作都会失败...原创 2018-04-13 09:41:00 · 3691 阅读 · 0 评论 -
avtivemq demo
记录下activemq例子一.activemq安全配置1.配置监控台的用户名和密码:操作文件为:conf文件夹下的jetty-realm.properties,原本是admin: admin, admin将第二个admin修改为新密码;2.配置消息发送和获取时的用户名和密码:操作文件为:conf文件夹下的activemq.xml,在broker节点<plugi...原创 2018-07-05 16:55:09 · 263 阅读 · 0 评论 -
监听器 demo
记录下监听器demo 这几天学习activemq时,消息的消费者获取到mq里面的数据有两种方式。一种是while(true){mq.take()}通过死循环取数据,但是这种方式很消耗性能。还有一种就是向mq注册一个监听器了。小需求:模拟mq,实现当有数据新增到mq里面时通知监听器/** * 监听器接口 * @author JiaJiCheng * @date 2018年7月6日...原创 2018-07-06 10:40:30 · 292 阅读 · 0 评论 -
阅读记录——多线程编程之不可变对象模式(Immutable Object)
摘抄:多线程共享变量的情况下,为了保证数据的一致性,往往需要对这些变量的访问进行加锁。而锁本身又会带来一些问题和开销。不可变对象模式使得我们可以在不适用锁的情况下,既保证共享变量的线程安全,又能避免引入锁可能带来的问题和开销。多线程环境中,一个变量常常会被多个线程共享。这种情况下,如果存在多个线程并发的修改该对象的状态或者一个线程访问对象的状态而另外一个线程试图修改该对象的状态,我们不得不...原创 2018-07-24 10:58:29 · 491 阅读 · 0 评论 -
Lock的lock()与lockInterruptibly()
public static void main(String[] args) throws InterruptedException { final Lock l = new ReentrantLock(); Thread t1 = new Thread(new Runnable() { @Override public void run() {...原创 2018-07-19 14:02:35 · 933 阅读 · 0 评论 -
读取配置文件
import java.io.IOException;import java.util.Properties;final public class MyConfigUtil { private static final String CONFIG_PROPERTIES = "config.properties"; private static MyConfigUtil myConfigU原创 2016-08-29 11:38:39 · 338 阅读 · 0 评论 -
个人理解JAVA反射
百度了下为啥要使用反射,也没有看出个所以然来。这里根据最近做的一个功能(使用了注解开发)讲下自己对反射的理解。javaCode:public static BeanLuceneExtend objToLuceneExtend(Object obj) { try { if(obj == null) { return null; } // 得到类原创 2016-06-23 17:27:56 · 524 阅读 · 0 评论 -
单列模式
1.不具备延迟加载功能,也就是饿汉试,因为其开始就new了对象2.具备延迟加载功能,也就是饱汉试,因为用到的时候才new对象。在多线程的大环境中,因为a可能在创建对象前,这是b来了,刚好看到的是没有对象,这时b也想new对象,所以要用锁。 经过测试用到了锁的大大减低了性能,这时还需进行调优。public class StaticSingleton { private Stati原创 2016-06-07 22:42:49 · 559 阅读 · 0 评论 -
JAVA使用继承还是组合
继承最重要的方面不是为新的类提供方法,而是用来表现新类和基类之间的关系。谈到新类和基类之间的关系就涉及到了向上转型的问题,那么何时使用继承何时使用组合呢?我们在学习中多次强调继承的重要性,但是在开发中这并不意味着要尽可能使用它。相反,应当慎用这一技术。一个最清晰的判断方法就是问一问自己是否需要从新类向基类进行向上转型,如果必须向上转型,那么继承是有必要的。如果不需要,那么要好好考虑原创 2016-06-08 07:52:32 · 581 阅读 · 0 评论 -
JAVA_FINAL关键字
final通常指的是“这是无法改变的”,不想做出改变有两种理由:一是处于设计、二是出于效率。final数据:基本类型:如: public static final int i = 5; 其中i是一个常量,java编译器可以将该常量值带入任何可能用到它的计算式中,可以在编译时执行计算式,减轻了一些运行时负担。一个即是static又是final的域只占据一段不能改变的存储空间。原创 2016-06-11 20:39:46 · 417 阅读 · 0 评论 -
JAVA特性多态之覆盖
java code:public class A { private void m() { System.out.println("A"); } public static void main(String[] args) { A a = new B(); a.m(); }}public class B extends A{ private void m()原创 2016-06-11 22:27:10 · 551 阅读 · 0 评论 -
java 工厂方法初步认识
javacode:/** * 工厂 * @author JiaJiCheng * */public class Factory { public void sendMsgToEveryFactory(IFactory factory) { IMethod method = factory.getMethods(); method.m1();原创 2016-06-14 00:17:51 · 694 阅读 · 0 评论 -
java序列化与反序列化
java序列化之前一直迷迷糊糊,今天复习下。点击打开链接转载 2016-06-30 17:30:45 · 278 阅读 · 0 评论 -
JAVA匿名内部类
1.什么是匿名内部类即一个类中包含一个没有名字的类2.匿名内部类的使用public interface People { public void doThings();}public class Children { public People getPeople() { return new People() { //匿名内部类 @O原创 2016-06-19 08:53:17 · 484 阅读 · 0 评论 -
JAVA_ListIterator
ListIterator是Iterator的子类,但是它只能用于各种List类。由于Iterator只能向前移动(说到迭代器脑子里一定要有指针的概念,可以想象成有一个数组,在数组第一个元素前有个指针,这就是iterator初始时的指针状态),所以ListIterator出现了。ListIterator可以双向移动,并且有额外的方法。javacode:public class TestList {原创 2016-06-19 16:12:31 · 670 阅读 · 0 评论 -
JAVA极光推送
今天贴一下以前写的用极光进行推送的代码,希望能帮助到有需要的朋友极光推送文档(JAVA)概述:这是java版本的推送jar,提供了消息推送的功能,(底层为极光推送)。支持的推送方式如下:全网推送按tag推送按alias推送支持推送手机平台如下:AndroidiosAndroid & ios安装导入推送的jar包,名称为push_sdk-0.0.1-SNAPSHOT.jarmaven地原创 2016-06-21 16:32:49 · 919 阅读 · 0 评论 -
JAVA自定义注解
现有一个特殊JavaBean,里面有4个字段,分别是id,type,title,content。假设还有一个UserInfoVO,里面有id,userName,nickName,telphone,mail,address等字段信息,想要将UserInfoVO里面的id set到JavaBean里面的id,将userName,或者nickName set到title,将telphone,mail,ad原创 2016-06-21 23:51:12 · 460 阅读 · 0 评论 -
httpclient post 总是返回400
最近在使用httpclient模拟shopee电商网站的登陆接口,添加cookie绕过了403错误,无耐又报了400错误。因为我当时连参数都没有带上,所以心里想的是怎么可能报400错误呢?要报也应该提示我没有带上参数才对啊。以下是我要模拟的接口图:因为我在POSTMAN里面content-type使用的是x-www-form-urlencodeed返回的是200,所以我认为http...原创 2019-01-31 10:50:49 · 16314 阅读 · 1 评论