java
文章平均质量分 55
狂飙的yellowcong
yellowcong
展开
-
Slf4j滚动日志出现文件丢失-yellowcong
线上测试的时候,发现压缩文件日志数量丢失了,感觉就比较诡异了,后来查明是log4j的配置导致的,默认配置只让存放7条压缩日志,这样避免日志量过多把磁盘涨爆了,但是我们不需要他这么细心,需要修改默认最大的条数和文件滚动大小,就能解决这个问题了原创 2021-07-22 10:46:03 · 739 阅读 · 0 评论 -
Can't load IA 32-bit .dll-yellowcong
今天在做帐票的时候,用到了JiveReport,是日本开发的一个帐票软件,下载地址,开始需要加载lib,然后报错出现的错误,Can't load IA 32-bit .dll on a AMD 64-bit platform,由于java版本是64位的,而张票软件是32位的,导致这个错误,解决的办法是,版本统一原创 2017-07-11 09:34:14 · 1305 阅读 · 0 评论 -
百度云(BAE)文件上传目录问题-yellowcong
我是14年左右开始用的百度云,当时云的概念刚刚起来,我用过京东云(JAE),新浪云(SAE),百度云(BAE),其中我觉得SAE和BAE是做得比较不错的PaaS(平台即服务),我这篇,主要将百度文件上传问题,在BAE中,我们不可以直接获取到绝对路径,用户能操作的只有/home/bae/app和temp连个文件夹了原创 2017-07-15 17:08:14 · 2426 阅读 · 3 评论 -
野狗云API之详解(分页,查询,删除,更新)-yellowcong
野狗云的API说实话,不是特别的好用,对于分页操作和查询是鸡肋,对于这两个操作我就不过多吐槽了,但是我想吐槽一下,野狗云的确很坑,当里把数据往死里写,超过了250MB后,你的服务就用不了了(当时我用多线程,做的实验,后悔死了),开启今天的正文,我的项目源码在github上,过多的就不介绍了。原创 2017-07-17 07:42:08 · 3816 阅读 · 7 评论 -
Oracle之char类型-yellowcong
尽量避免使用Oracle的char类型,即使只有一个字节,也应该使用varchar2类型。char的缺点主要有两个1.占用空间大 , 如果声明一个char(10)的字段,仅仅使用了一个字节,剩余的9个字节也会使用空格补齐。2.Java中回查不到数据,在下面最常用的JDBC中,查询一个char类型的字段,却查不到任何结果.原创 2017-07-21 08:32:06 · 2321 阅读 · 1 评论 -
Java之数字格式化-yellowcong
项目开发中遇到需要将数字补0的操作,还有就是需要添加钱$,¥的符号等,可以通过Java的DecimalFormat 轻松完成这些操作,DecimalFormat 可以完成数据补0,数据格式转化,和我们的SimpleDateFormat一样,好用啊,哈哈原创 2017-07-26 18:10:23 · 447 阅读 · 0 评论 -
Oracle 格式化日期-yellowcong
Oracle中常会遇到日期数据类型,但是句话疼的是,日期类型获取后,会多了一个毫秒,有时候有,有时候没有,所以淡腾,需要将他格式化后,然后转化为日期类型的数据,然后通过SimpleDateFormate格式化原创 2017-07-26 18:19:25 · 523 阅读 · 0 评论 -
Java之Enum类中的ordinal函数-yellowcong
ordinal函数Enum类中的ordinal可以返回当前枚举所在的序列,在我们操作有序列的文件和数据的时候,枚举就特别好用了,可以通过枚举,定义Excel的行列位置,同时可以结合ordinal,让列自动增长原创 2017-08-21 18:00:16 · 9035 阅读 · 0 评论 -
Maven之Jetty和tomcat的比较-yellowcong
Jetty和tomcat的比较,Jetty是一个轻量级的Java Web Server,和Tomcat相比具有内存开销小,启动速度快的特点,但是实际开发情况中,Tomcat的处理效果是比Jetty更加优秀的。但是对于QQ类是的web聊天,适合使用jetty来做,像淘宝的 web 旺旺就是用 Jetty 作为 Servlet 引擎原创 2017-08-26 17:43:46 · 1206 阅读 · 0 评论 -
JVM之java程序编译和运行的过程-yellowcong
Java应用程序的开发周期包括编译、下载 、解释和执行几个部分。简单来说,Java代码的编译和执行的整个过程大概是:开发人员编写Java代码(.java文件),然后将之编译成字节码(.class文件),再然后字节码被装入内存,一旦字节码进入虚拟机,它就会被解释器解释执行,或者是被即时代码发生器有选择的转换成机器码执行。原创 2017-08-27 15:31:22 · 3800 阅读 · 1 评论 -
STS(Sping Tool Suite)安装后启动失败集合-yellowcong
今天安装Eclipse的时候,突然发现咋这么多坑呢,尼玛蛋,至于这样吗,后来发现,STS需要的是64位的JDK,如果我们安装是是32的同学,一定要注意了,然后需要配置好环境变量,不然也是GG,以前一直是用的64位的,后来公司用的是32位的,所以今天GG了原创 2017-08-28 16:56:53 · 3293 阅读 · 0 评论 -
Java之反射获取私有成员变量-yellowcong
获取到对象的私有字段Field后,然后设定 setAccessible 为true,然后调用字段的get方法,就可以获取到对象的数据了,同时也可以通过反射的方法获取字段的get和set方法来获取需要修改的字段原创 2017-09-14 09:31:58 · 2324 阅读 · 0 评论 -
simplejson之JSON转化为对象-yellowcong
由于框架是用的Simplejson,找了半天都没找着如何将字符串转化为对象的方法, 后来发现以前写过,找了半天,找到了JSONValue.parse("jsondata"),可以将JSON字符串转化为所需要的对象。/* * @version $Id$ * * Copyright (c) 2009-2010 株式会社 BSNアイネット */package com.yellowcong.da原创 2017-09-14 10:31:51 · 3375 阅读 · 0 评论 -
Maven之Cannot change version of project facet Dynamic Web Module to 2.5.-yellowcong
我把自己的项目从git上下载下来,然后导入eclipse后,发现报错了,淡腾啊,在家的机器都好使,在这个地方,就不好用了,淡腾啊,出现这个问题的原因的jdk版本和web配置的版本有问题,配置修改完后,需要Update Maven Project 才会生效原创 2017-08-29 14:34:57 · 551 阅读 · 0 评论 -
SeaSar2之通过自动注入的方式管理Bean-yellowcong
上一个,我们介绍了如何通过Seasar2来实现Bean的管理调用,上一个是基于app.icon配置文件做的,我这次教大家如何做自动注入的方式来管理Bean,需要配置j2ee.dicon、app.dicon两个配置文件,配置的操作中,我的数据库写得是Oracle的,所以大家如果是mysql的,需要注意一下,源码地址:https://git.oschina.net/yellowcong/seasar原创 2017-08-30 09:02:55 · 1606 阅读 · 0 评论 -
Java之颜色0xFF补码
byte类型的数字要&0xff再赋值给int类型,byte是一字节,而int类型是4字节,如果不做补码操作,就会导致二进制数据的一致性丢失掉,这个问题的产生的原因和计算机存储数据的方式有关,负数,会取反然后+1存储原创 2017-09-16 10:05:12 · 4071 阅读 · 0 评论 -
Java之JDK和CGlib实现动态代理-yellowcong
在Java中,对于动态代理,在框架中用到很多,我们可以通过JDK提供的InvocationHandler类实现动态代理,这个方法的缺点是,必须要有接口和实现类,然而Cglib这个工具类,解决了这个问题,可以直接通过类来进行动态代理的操作。Cglib是基于asm的,反射类的生成比较慢,但是方法执行速度块,javaassist可以用来修改字节码,也可以实现aop的操作原创 2017-08-31 11:48:20 · 489 阅读 · 0 评论 -
Java之正则表达式的组概念-yellowcong
Java正则组的使用组在正则使用的时候,需要都用()来将正则表达式括起来分组,比如([\\w]+.)([\\w]*\\.[\\w]*),才可以使用这个数据,不然,就不可以使用组这个东西了原创 2017-09-22 10:01:30 · 1466 阅读 · 0 评论 -
Java之javassist实现自动代理-yellowcong
Javaassist是通过操作class字节码文件来修改类的,如果需要Javaassist实现AOP,需要用到Javaassist的ProxyFactory、ProxyObject、MethodHandler三个类,通过这种方法就可以so easy的完成了,我们还可以自己写一个AOP的框架,通过Javassit同cglib一样,可以不依赖于接口的方式来实现代理操作原创 2017-09-01 12:02:42 · 1574 阅读 · 1 评论 -
Java之Javassistの常用API-yellowcong
Javassist的简要操作API,Javassist主要有字节码文件类的创建,以及类方法、构造函数、字段的添加、删除、修改的操作转载 2017-09-01 14:48:55 · 1459 阅读 · 0 评论 -
Java之Javassist对类的常用操作小结-yellowcong
用Javassit完了一段时间,感觉挺牛逼的,可以轻松的操作java的字节码文件,这个东西相当于ASM是轻松不少了,对了记得获取已存在类对象的时候,通过类名称com.yellowcong.test.User来获取,而不是通过类对象来获取,因为通过类对象来获取,就会导致加载了两个不同版本的类在JVM中,就会报错原创 2017-09-01 15:39:13 · 1248 阅读 · 0 评论 -
Java多线程之ReentrantLock使用-yellowcong
ReentrantLock是synchronized的替代,但是实现机制更加的复杂,以更加精确的对锁控制。ReentrantLock 的构造函数中原创 2017-10-06 17:41:21 · 461 阅读 · 0 评论 -
Java网络编程之BIO(Socket)-yellowcong
现在流行NIO网络编程,比较火的框架有Netty和Mina,这个地方我实现传统Socket编程,每一个请求,都会为之创建一个线程来进行处理操作,在Socker数据传输中,用到了PrintWrite,需要注意println()和write()两个方法的区别,println()是带有回车符号的些数据,而write()没有回车符的些数据,需要手动加上回车符,不然消息发送不过去,因为回车符是消息结束的标志,原创 2017-10-07 10:13:26 · 1018 阅读 · 0 评论 -
Java网络编程之BIO(Socket 伪异步)-yellowcong
上一篇Java网络编程之BIO(Socket)-yellowcong写到,客户端,每次发送一个请求,就会创建一个线程的方式来完成请求的处理,效率低下,可以通过添加线程池的方式来解决处理瓶颈问题案例线程池定义个线程池,ThreadPoolExecutor ,使用的是ArrayBlockingQueue 固定长度队列,通过线程池来添加请求的队列,如果请求操过了poolSize,就会将数据放到队列中。原创 2017-10-07 11:01:59 · 450 阅读 · 0 评论 -
Java网络编程之NIO(ServerSocketChannel/SocketChannel)-yellowcong
NIO编程中,需要知道的的重要概念 通道(Channel,封装的Socket)、缓冲区(ByteBuffer等类,用于服务端和客户端数据传递)、选择器(Selector,用于处理Channel)。NIO处理时异步非阻塞的IO,NIO(只有Selector的一个线程,不断轮询处理Channel)效率比BIO高很多(BIO是一个请求一个线程)。NIO中常用的框架有Netty和Mina。原创 2017-10-07 14:00:48 · 774 阅读 · 0 评论 -
Java网络编程之Netty入门案例-yellowcong
Netty入门案例,讲解Netty的客户端 和服务器端的实现,Netty是NIO框架,同类型的还有Mina,不过Netty的使用,比Mina更容易简单。Netty国内的入门案例:http://ifeve.com/netty5-user-guide/Netty的系统架构中,实现了Http,SSL,google Protobuf,websocket的协议。原创 2017-10-08 09:28:43 · 601 阅读 · 0 评论 -
Java网络编程之Netty拆包和黏包-yellowcong
Netty中,解决拆包和黏包中,解决方式有三种 1、在每个包尾部,定义分隔符,通过回车符号,或者其他符号来解决 2、通过定义每个包的大小,如果包不够就空格填充 3、自定义协议的方式,将消息分为消息头和消息体,在消息头中表示出消息的总长度,然后进行逻辑处理。案例这个案例是通过第一种方式,通过回车符号的方式来解决拆包和黏包,通过在childHandler 中添加 指定的分隔符进行拆包原创 2017-10-08 10:38:39 · 891 阅读 · 0 评论 -
Centos之bash:jps 未找到命令-yellowcong
centos7.0 安装完了dubbo集群,设定了自动启动,开机后,本来想用jps看一下,zookeeper是否启动了,结果就报错了bash:jps 未找到命令...-bash: jps: command not found原因很简单,java1.5没有jps命令 ,还有就是没有装,而是系统自带的jdk解决方式就是安装一下java就可以解决了,可以查看我的教程CentOS之Java安装-yel原创 2017-10-18 18:03:18 · 4697 阅读 · 0 评论 -
Java之系统剪贴板WindowUtils包-yellowcong
通过这个工具包,可以控制系统的剪贴板,获取剪贴板的图片和文字信息,可以直接通过java完成截图操作,和截图里面的类容文件输出 ,也可以通过java来获取和设定剪贴板里面的数据信息原创 2017-10-03 06:38:33 · 755 阅读 · 0 评论 -
Java之多线程Runnable(1)卖票-yellowcong
Java实现多线程的方式有三种 1、传统方式,通过继承Thread类 2、通过实现Runnable接口,然后建对象传递到new Thread(Runnable)中,启动线程 3、使用ExecutorService、Callable、Future实现有返回结果的多线程原创 2017-10-03 09:52:46 · 570 阅读 · 0 评论 -
Java之多线程Runnable(2)卖烤鸭-yellowcong
烤鸭模型中,涉及到多线程的交互,在多线程交互中,需要控制相同的锁,来保证线程的状态,同时还需要控制所有线程需要操作的共同对象(烤鸭数量),我把烤鸭数量对象放到了主类的静态变量汇总原创 2017-10-03 10:09:26 · 388 阅读 · 0 评论 -
Java之多线程死锁-yellowcong
在Java的多线程中,多个线程共同争夺一个资源的时候,就会照成死锁的问题,为了保证不产生死锁的问题,可以在一个线程中使用一个锁,保证锁的唯一性,这样就可以解决死锁问题原创 2017-10-05 09:40:06 · 402 阅读 · 0 评论 -
Java之多线程中java.util.concurrent.atomic包
这个包里面提供了一组原子变量类。其基本的特性就是在多线程环境下,当有多个线程同时执行这些类的实例包含的方法时,具有排他性,即当某个线程进入方法,执行其中的指令时,不会被其他线程打断,而别的线程就像自旋锁一样,一直等到该方法执行完成,才由JVM从等待队列中选择一个另一个线程进入,这只是一种逻辑上的理解。实际上是借助硬件的相关指令来实现的,不会阻塞线程(或者说只是在硬件级别上阻塞了)。可以对基本数据、数原创 2017-10-05 15:16:25 · 577 阅读 · 0 评论 -
Java之多线程CountDownLatch 用法 -yellowcong
CountDownLatch,一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。使用的时候,1、conutDown次数达到要求的时候,就会去直接执行await()后的函数,不会在进到while语句进行判断,2、不会像notify和wait方法,需要有锁的情况(等通知的线程完毕后,再去执行notify通知的另外一个线程),才可以接着执行 。原创 2017-10-05 15:45:14 · 526 阅读 · 0 评论 -
Java之多线程AtomicInteger (多人买票) -yellowcong
前几天,通过Thread的同步代码块的方式,写了买票的案例,现在通过AtomicInteger这个类,实现了买票的案例,通过这个类,效率比 通过Thread的同步方法效率高,写多线程的时候,一定要先获取到剩余多少张票,然后做加减法,不然会导致负数票的参生原创 2017-10-05 16:02:46 · 1876 阅读 · 5 评论 -
Java多线程之队列Quene-yellowcong
通过notify和wait实现java的多线程队列模型,主要是控制共同操作的List集合一致性,同时设计了队列的大小,队列有take和push方法,take获取List集合的第一个元素,push添加元素,通过AtomicInteger 实现计数操作原创 2017-10-05 16:56:20 · 507 阅读 · 0 评论 -
Java多线程之单例模式-yellowcong
我们常见的单利模式有饿汉式和懒汉式,懒汉式,就是在用的时候,再实例化对象,饿汉式,是还没有开饭,就已经把对象实例化好了。在多线程开发中,解决单例的时候,有两种解决方案,1、(懒汉式)同步代码块双判断,2、(饿汉式)直接实例化好静态类,调用的时候,直接返回原创 2017-10-05 17:35:58 · 331 阅读 · 0 评论 -
Java多线程之主从设计模式-yellowcong
在Hadoop和Redis等集群的时候,都会有主从的概念,有一个主节点用于控制请求的分发和结果的统计,从节点用于真正的数据处理操作。在多线程中,我们可以把 一个大任务分割成多个小任务,给子节点处理,在这种设计模式中,我们需要使用到原子类 ConcurrentLinkedQueue (用于存储请求提交的任务),和ConcurrentHashMap(用于收集每一个节点获取的结果)。在这种无锁的设计模式中原创 2017-10-06 12:01:44 · 1614 阅读 · 0 评论 -
Java多线程之CountDownLatch的使用
CountDownLatch是java.util.concurrent包下的一个工具类,用于多个线程初始化 操作用的,对于初始化需要多个线程完成,主函数需要等待其他子线程完成,然后进行主函数的逻辑,其中构造函数中,需要传递Integer类型数据,表示需要countDown()执行几次,通常多少个线程初始化操作,就设置为几实际案例中,我们使用Zookeeper,获取连接的情况中,我们让主线程等待,知原创 2017-10-06 16:09:01 · 443 阅读 · 0 评论 -
Java多线程之CyclicBarrier用法-yellowcong
1、CyclicBarrier初始化时规定一个数目,然后计算调用了CyclicBarrier.await()进入等待的线程数。当线程数达到了这个数目时,所有进入等待状态的线程被唤醒并继续。 2、CyclicBarrier就象它名字的意思一样,可看成是个障碍, 所有的线程必须到齐后才能一起通过这个障碍。3、CyclicBarrier初始时还可带一个Runnable的参数原创 2017-10-06 16:24:34 · 440 阅读 · 0 评论