自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 用@resource注入的bean和容器中的bean不是同一个bean

开发中遇到问题:在spring默认的单例模式下,发现事件监听类中用@resource注入的bean和action层@resource注入的类不是同一个类,事件监听类是运用spring-jms包中的消息接收方法,将监听类,监听类中的监听方法,和消息转换类传入MessageListenerAdapter类,而MessageListenerAdapter是通过反射的方法,执行了我的监听方法,原码...

2019-05-14 00:15:11 1151

原创 java编码问题

首选需要理解unicode:为了把全世界人民所有的所有的文字符号都统一进行编码,于是制定了UNICODE标准字符集,没有什么编码规则,只是编码和字符一一对应,在java内存中,string类型的字符就是以unicode的形式存在内存中,所以,在debug的时候,string既不属于gbk,也不属于utf-8和其他的编码格式。知道这个问题以后,很多编码问题就可以迎刃而解:既然知道java内存...

2019-05-12 20:59:22 207

原创 网络I/O优化

网络I/O优化的基本原则:1.减少网络交互的次数在网络交互两端设置缓存,发起交互的一端设置缓存,如优秀的数据库框架hibernate,mybatis都有一级缓存和二级缓存,有效的减少了数据库的访问次数,即减少了网络链接的次数,在接收端设置缓存可以减少数据的处理时长,使ESTABLISHED状态缩短,加快链接释放速度,链接状态转换如下图:也可以通过合并的方式减少交互次数,即批量请求,比...

2019-04-26 19:17:50 840

原创 jms规范以及activeMq相关介绍

jms提出的指在统一各种MOM(Message-Oriented Middleware )系统接口的规范,只是接口,不包含实现,实现JMS 接口的消息中间件称为JMS Provider。activemq是Apache出品的开源项目,它是JMS规范的一个实现接口构成:ConnectionFactory:连接工厂接口用于建立连接Connection:封装了JMS 客户端到JMS Pro...

2019-04-11 16:00:10 241

原创 常见设计模式:代理模式

代理模式(proxy)代理模式主要有两个功能:1.目标类委托代理类做代理,想访问目标类需要通过代理类来访问;2.在代理过程中,可以通过代理类对目标类或者目标方法做功能性扩展(如AOP)1.静态代理:个人认为,静态代理模式就是装饰模式,这里无需在写一遍,装饰模式的相关介绍请参考上一篇博文:https://blog.csdn.net/l450741881/article/details/8...

2019-04-01 16:17:59 177

原创 常见设计模式解析,应用场景以及优点(二)策略,观察者,模板,装饰,外观

本篇文章针对三个问题来学习几个常见设计模式:设计模式如何实现?设计模式的应用场景?设计模式有什么优点?1.策略模式(stratrgy)如何实现?用动作的多个实现方法(多个算法)实现动作接口,在动作所属变量实例化时将动作的完成方法赋值进去,调用时调用该实例的动作用的则是赋值进去的实现方法:public interface Chengfa { void doChengfa()...

2019-04-01 14:03:36 335

原创 常见设计模式解析,应用场景以及优点(一)单例,工厂,抽象工厂,构造者

本篇文章针对三个问题来学习几个常见设计模式:设计模式如何实现?设计模式的应用场景?设计模式有什么优点?1.单例模式(singleton)如何实现?单例模式保证一个类有且仅有一个实例,提供一个全局访问的访问点:class LazySingleton { private static class LazyHolder { private static final LazySin...

2019-03-26 22:23:19 1377 1

原创 java锁相关介绍与分析

本文主要介绍两种锁:synchronized和lock,以及锁相关比较重要的知识:volatile,atomic,锁的升级1.synchronized三种同步形式同步静态方法时,锁住的是类实例,因为类信息存放在方法区,是全局共享的,所以会将所有调用该方法的线程全部锁住.同步普通方法,锁住的是对象的实例(this)同步一个对象实例(同步代码块)时,以该对象为锁的代码块.syn...

2019-03-21 10:20:16 181

原创 线程池工作原理,功能介绍以及原码分析

代码中运用线程池有两个步骤:创建线程池和线程池中运行线程1.创建线程池创建线程池的方法以及实现原码:Executors.newSingleThreadExecutor();public static ExecutorService newSingleThreadExecutor() { return new FinalizableDelegatedExecutor...

2019-03-14 12:08:04 178

原创 list,map,set,queue容器汇总介绍

1.ArrayList(非线程安全)ArrayList 是一个数组队列,实现了动态数组功能,继承了AbstractList,提供了相关的添加、删除、修改、遍历等功能,可以通过序号随机访问对应数值.对接访问时,效率较高,效率的主要开销在数组数据的预留空间开销.ArrayList包含了两个重要的对象:elementData 数组和size。一个用来储存数据,一个用来统计大小.新建一个Arra...

2019-03-11 14:34:14 817

原创 hashCode()和equals()的区别和联系

equals()是对象类object的基础方法,可以被重写,如果不重写,意义和==没有区别(string类默认重写了equals方法和hashCode方法).hashCode()生成的是散列值,在散列表中有用,散列表通过散列值可以快速的定位数据位置,支持散列表的集合像HashMap.HashSet等.散列表判断相等是hashCode和equal都相等的对象才为相等下面用代码证明:pu...

2019-03-07 13:43:24 318

原创 BIO,NIO,AIO原理详解以及代码实现,结果证明

一.BIOBIO是java1.4之前唯一的IO逻辑,在客户端通过socket向服务端传输数据,服务端监听端口,由于传统io读数据的时候,如果数据没有传达,IO会一直等待输入传入,所以当有请求过来的时候,新起一条线程对数据进行等待,处理.导致每一个链接都对应着服务器的一个线程.可以看出,BIO是同步阻塞的BIO实现代码如下:public class BIO { public...

2019-03-06 17:13:02 1719

原创 java虚拟机类加载以及class中字节码的执行

一.jvm类加载class的文件结构:1.文件头(版本和class标志).2.常量池(类名,方法名称类型,属性名称类型,并均为索引)3.类信息.4.方法和属性信息java类在遇到1.类似new指令;2.反射调用;3.子类加载;4包含main函数;的时候会在虚拟机中加载该类,加载的大体步骤为:加载->验证->准备->解析->初始化1.加载加载类主要完成的工...

2019-03-04 20:23:06 850

原创 jvm内存相关详解

一.内存区域分配jvm内存简单分为程序计数器,栈,堆,以及方法区便于理解,这里通过创建实例变量对象以及调用来讲一下各个区域的分工.先列举下程序中一个类需要加载的数据:类的基本信息(包括代码),常量(final修饰,不可改变),局部变量,静态变量,native方法(调用底层方法的非java方法),以及方法信息1.场景:代码中new一个新对象a.先加载这个类,类的信息,常量,静...

2019-03-02 13:51:39 169

原创 重新整理一遍java相关,从java最基本的jdk开始

重新整理一遍java相关,从java最基本的jdk开始:java安装后有jdk和jrejre为java运行时环境,即如果你想运行Java程序,安装jre即可jdk为程序员用的开发环境,即如果你想开发java程序,则需要安装jdk,jre包括虚拟机jvm和java自带sdk,jdk中包括虚拟机jvm,自带sdk,编译器javac,和一些调试工具,如命令行形式的jps,jstat,ji...

2019-02-28 19:59:07 119

转载 用socket编程实现的简单的聊天软件

用socket编程实现的简单的聊天软件import javax.swing.*; import java.awt.event.*; import javax.swing.border.Border; import javax.swing.border.LineBorder; import javax.swing.text.BadLocationException;...

2016-02-27 11:55:28 1880

原创 图书馆管理系统

大三时候用delphi写的一个图书馆管理系统,开发图书馆管理系统需要用到Delphi7,SQL Server 2008.功能:图书馆服务系统(查询图书记录,借阅图书,归还图书,修改密码,分类查找)图书馆管理系统(修改图书记录,修改学生的记录,修改密码设置,注册用户,)并且链接数据库数据库的关系模式(输入要求): Book(BookID(主键),...

2016-02-27 08:29:56 3386 3

原创 语法分析器(java)

本文用的是LL(1)分析方法LL(1)分析是通过文法构造first集合follow集形成预测分析表,然后根据预测分析表来判断句子是不是正确符合文法的。该的程序中用了数组储存分析表。1.输入文法并标号,划分终结符和非终结符,计算First集。2.构造LR(1)项目集族,包括LR(1)项目集的闭包函数ToClosure()和转换函数Goto()。3.构造LR(1)分析表,用C#的类...

2016-02-25 08:27:00 6158

原创 词法分析器设计

词法分析是编制一个读单词的过程,从输入的源程序中,识别出各个具有独立意义的单词,即基本保留字、标识符、常数、运算符、分隔符五大类。程序语言的单词符号一般分为五种:关键字(保留字/基本字)if、while、begin…;标识符:常量名、变量名…;常数:34、56.78、true、‘a’、…;运算符:+、-、*、/、〈、and、or、….、;界限符:, ; ( ) { } /*…。方...

2016-02-25 07:50:53 5177

原创 JavaEE基础——JavaBean和数据库元数据编程

目的:编写一个访问MySql数据库的JavaBean,并编写database.jsp调用该javabean建立对数据库的连接,进行数据库元数据编程,database.jsp中采用如下输出形式给出该数据源的一些限制情况。 驱动名称 ******** 数据库的产品名称 ******** 数据库连接的...

2016-02-25 07:12:11 1260

原创 一个简单的工资管理程序(大二,无界面)

SalaryManagement(C++)介绍:这是一个员工工资管理程序。工资管理的数据文件中存储有员工姓名和工资,该程序可以录入、显示、修改、删除、查找员工姓名和工资,和求平均值。设计:(1) 将程序中工资数据用链表的形式存放,定义一个链表类,封装主要的操作函数。(2) 显示、修改、删除数据项时大小写通用。(3) 工资数据按工资值的大小进行存放。...

2016-02-22 08:15:15 1222 1

图书馆管理系统

图书馆管理系统

2016-02-27

语法分析器

实现了: 1, 文法 2, First集 3, Follow集 4, 预测分析表 5, 输入句子 6, 显示分析过程 7, 显示分析结果(是否接收句子)

2016-02-25

词法分析器

词法分析器,没有界面,只实现了功能,很简单的一个分析器。

2016-02-25

一个简单的工资管理程序(大二,无界面)

这是大二时候做的一个简单的课程设计,又需要的同学可以拿来借鉴,个人认为,对于初学者帮助还是蛮大的。

2016-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除