自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 问答 (4)
  • 收藏
  • 关注

原创 代码安全

 随着互联网深入到各行各业,越来越多的应用系统、网站等被人类通过网络连接、访问。如何保障系统、网站不会因黑客的恶意攻击而导致系统崩溃、数据泄露等安全问题,解决此问题的最根本的手段还是要回归到代码上面,只有写出的代码是安全的、是无懈可击的、没有任何逻辑漏洞,才能杜绝一切安全问题。本文从以下几个方面讲述系统漏洞产生的原理及如何预防这些漏洞,做到代码安全。内容比较浅显,不做深入阐释。Sql注入...

2018-07-31 17:53:43 4849

转载 Java中BigDecimal理解

最近刚换了份工作,接触到与合同相关的项目,合同管理里面不可缺少的项就是合同额度,合同额度有时需要精确到很小的位数,并且对这些浮点数进行加减计算,这时就需要精准计算,否则就会造成不少的损失和麻烦。Java中的float和double只能进行较为精确的快速计算,商业中要求非常精确的结果就需要用到BigDecimal对象。为了更好的理解和使用好这个对象,下面是本人转载别人的文章,便于以后学习。1.引言 ...

2018-06-14 19:03:22 389

原创 jvm调优

         Jvm与c++不同,它实现了内存的自动分配和回收,这种机制使程序员无需关注内存的使用和回收,正是这种情况往往造成程序与jvm内存的分配和回收机制不匹配,从而出现各种问题。比如程序代码量很大,虚拟机永久区内存不足,会抛出outofmemoryerror错误,代码中全局大对象很多导致垃圾回收时间变长,应用出现卡顿现象等。当这二者不匹配时,有时候可能是代码编写不合理造成的,例如上面第二...

2018-03-26 10:53:37 4666

原创 oracle 全文检索

 Oracle创建全文索引,能够使用“select * from table where contains(fieldname,’检索内容’)>0”sql语句进行全文检索。Oracle创建全文索引的具体步骤如下:首先在当前用户user下创建表A:Create table A{ Uuid  varchar2(32) pk, Name  varchar2(50)}创建完毕,向表中插入数据。Ora...

2018-03-16 11:16:12 2701

原创 jvm垃圾回收

回答如下三个问题,即可掌握java虚拟机垃圾回收原理。哪些内存可以回收?         Java内存中的程序计数器、虚拟机栈、本地方法栈等区域随线程的产生而生,随线程的灭亡而消息。虚拟机中的栈帧随方法的进入和退出而有条不紊的执行入栈和出栈操作,每一个栈帧需要分配多少内存,在类结构明确的情况下就已经确定了。因此这几个区域的内存分配和回收都具有明确性,不需要考虑回收问题,因为方法和线程结束,内存自然...

2018-03-09 14:09:55 262

原创 Mysql查询性能优化

      Mysql查询性能优化要从三个方面考虑,库表结构优化、索引优化和查询优化。通常在实际应用中,我们要面对这三种搅和一起的情况。一、 库表结构优化      良好的逻辑设计和物理设计是高性能的基石。库表结构的设计既要关注全局,又要专注细节。要设计优秀的库表结构,可从以下几个方面着手:1.  选择优化的数据类型         选择优化的数据类型可以遵循以下几个原则:         更小的...

2018-02-28 15:50:55 6775 2

原创 tomcat 参数无法传递问题

最近在做java web项目时,使用post方式提交form表单,后台无论如何都无法接受到参数。下面是对错误的描述:下面是项目文件目录结构:在login.jsp中表单见下图:       使用该表单向后台提交数据时,无论如何后台都收不到表单项值,使用tomcat版本是7.0.54。不知道高手看到这里,能不能找出问题的原理?       百度各种搜索资料,

2018-01-31 09:53:02 2168

原创 CA证书

1. CA证书理解?CA证书的作用?CA证书顾名思义就是由CA(Certification Authority)机构发布的数字证书。要对CA证书完全理解及其作用,首先要理解SSL。SSL(security sockets layer,安全套接层)是为网络通信提供安全及数据完整性的一种安全协议。SSL3.0版本以后又被称为TLS。SSL位于TCP与各应用层之间,是操作系统向外提供的API。SSL如何保

2018-01-30 19:02:59 26332 1

原创 java异常机制

java虚拟机或java代码抛出(throw)的对象必须是throwable类或其子类的实例。同样,在catch语句中的只能是throwable类或其子类作为参数类型。Jdk中声明的可抛出对象包括Exception和Error,它们是throwable的子类。ExceptionException分为两种类型:Checked Exception和Runtime Exception。Checked Ex

2017-12-25 09:33:52 419

转载 java.awt.headlesss使用

在Java SE平台上使用Headless模式

2017-12-04 16:54:23 902

原创 全国地理信息资源目录服务系统

全国地理信息资源目录服务系统: http://data.sbsm.gov.cn/main.do?method=index

2017-11-27 14:15:23 8102

原创 ora-01033错误恢复

最近服务器宕机,导致oracle无法连接,使用toad连接提示:使用sqlplus打开数据库,提示:搜找资料,参照这篇文章:ORA-600 kcratr_nab_less_than_odr故障解决按照上述文章,重做控制文件。采用备份式方式,这种方式需要结合recover database命令,完成数据库介质恢复(同时参考:Oracle 基于备份控制文件的恢复(unsing backup contro

2017-11-27 14:12:13 1237

原创 socket编程注意事项

Socket(套接字)位于iso模型中的传输层之上,应用层(包括表示层和会话层)之下,它是操作系统向外暴露的一些api,使用socket编程,只需要调用这些接口即可。Socket的实现原理和接口的具体使用就不详细描述,本文主要是对本人在使用socket传输数据时遇到的问题和需要注意的事项进行了分析和总结。主要包括以下这些事项:数据丢失死锁传输文本文档时,编码问题数据传输加密通过代码来描述遇到

2017-11-17 16:58:33 660

原创 java线程池

在java编程中,多线程是解决并发的重要手段,然而使用多线程同时创建和销毁线程需要消耗资源,无限制的创建线程就会导致资源耗尽,系统崩溃。因此,当服务器内存和CPU不是绝对够用时,采用线程池对多线程进行管理是合理的手段。线程池的好处(引用其他文章):降低资源消耗,重复利用现有的线程降低线程的创建和销毁对资源的消耗;提高响应速率,当任务到达时,不用再等待线程的创建,利用现有线程即可立即执行任务;提

2017-10-20 14:00:30 251

原创 oracle锁机制

1. 锁类型 锁的开始和释放一般是由事务开始和结束决定的,锁最基本的类型分为独占锁(x锁)和共享锁(s锁)。1.1 共享锁 共享锁又称为读锁,对数据库资源进行读的事务添加的锁,多个共享锁可以在同一个资源上共存的,它是非独占的。即多个事务可以同时并发读取同一个资源,但不同时并发执行写操作。1.2 独占锁 独占锁又称为写锁,当对数据库进行写操作时会添加独占锁。独占锁对锁定的资源,只能有由持有该

2017-09-29 14:47:51 516

原创 ThreadLocal理解

首先举例说明ThreadLocal类的使用:public class ThreadTest { static ThreadLocal<String> tLocal = new ThreadLocal<String>(); public static void main(String[] args) { // TODO Auto-generated method stu

2017-08-30 19:40:04 227

原创 java.io DataInputStream与DataOutputStream理解(三)

DataInputStream与DataOutputStream类都是流的装饰者类(java中流的设计采用了装饰者模式),它是用来装饰其它基本的输入流的,比如FileInputStream、ByteArrayInputStream等。首先理解DataInputStream。 DataInputStream类,java的注释是“它允许应用程序以与机器无关方式从底层输入流中读取基本的java数据类型”

2017-08-24 08:51:42 387

原创 java.io ByteArrayInputStream与ByteArrayOutputStream理解(二)

字节数组流类包括ByteArrayInputStream、ByteArrayOutputStream。 首先理解ByteArrayInputStream,该类继承InputStream,覆盖了父类的read方法。看一下,ByteArrayInputSream的源码://构造函数,根据构造函数可以看出,ByteArrayInputStream的操作对象是字节数组,在对//象内部存在一个buf对象,

2017-08-21 17:20:53 246

原创 log4j2.xml配置详解

Log4j2所需jar包:log4j-api-2.6.2.jar log4j-core-2.6.2.jarlog4j2.xml配置文件:<?xml version="1.0" encoding="UTF-8"?><!-- status属性表示日志信息打印级别,日志级别从低到高依次为:TRACE < DEBUG < INFO < WARN < ERROR < FATAL,设置为WARN,则日

2017-08-18 09:25:45 614

原创 java.io理解(一)

流包括输入流和输出流,何为输入流?何为输出流呢?二者应该怎么使用呢?本人对输入流和输出流的理解是:针对程序而言,将资源记录到程序内,就是输入流;将资源导入到程序外部介质中就是输出流。输入流用read方法读取资源到程序,输出流用write方法将资源从程序内部保存到相应的对象中。举一个比较形象的例子,把大脑比作程序,书本比作资源,人类通过read书本,将知识存入大脑中,这就是输入流的过程;相反,将大脑中

2017-08-17 09:07:05 400

原创 uml类图

Uml类图是软件在设计阶段,将设计思想转化为系统的最重要的一个过程。在面向对象的编程中,我们把现实事物抽象成类,现实事物之间的关系抽象成类与类、类与接口之间的管理。类图就是描述类包含的属性、方法,及类、接口之间的协作关系的一个静态结构,在面向对象编程中,任何一个系统的结构可以说是由类、接口组成,类、接口之间相互作用才形成了一个有机的系统。因此类图的设计,是设计思想转化为系统中非常重要的步骤。 1.

2017-07-31 18:53:02 548

原创 servlet3.0下构建spring web项目

servlet3.0最显著的特征就是增加了servlet、listener和filter等类的注解,不需要将此配置在xml文件中,极大方便了编程。web项目中去掉web.xml配置文件,应该是以后构建web工程的趋势,在使用myeclipse2014版本中创建web工程,应该可以觉察到,默认构建web项目,web.xml文件已经不存在了。spring3.1之后的版本均支持servlet3.0。 本

2017-06-26 14:35:10 505

原创 ClamAv开源杀毒引擎详解

最近公司在弄文件交换系统,为了确保文件交换安全执行,需要添加文件扫描杀毒功能。系统要实现调用杀毒引擎,对文件查杀。和国内外比较著名、熟知的杀毒厂商(360、瑞星、金山、小红伞等)联系,均告知没有提供相应的接口供第三方调用。百度搜索中还发现有人使用金山制作杀毒u盘,具体过程就是使用安装后的金山的dll文件和病毒库,实现病毒查杀,但这都是10年前的知识了,而且现在金山都是云查杀,本地都没有病毒库。各种查

2017-05-22 10:02:05 15687 2

原创 oracle 权限管理、角色管理详解

oracle权限分为两种:系统权限:系统规定用户使用数据库的权限,允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等。对象权限:某种权限可以让用户对其它用户的的表或视图等对象进行特定操作。(一)系统权限oracle有哪些系统权限呢?可以通过查找系统权限字典(SYSTEM_PRIVILEGE_MAP)得到:SELECT NAME FROM SYSTEM_PRIVILEGE_MAP在or

2017-03-16 20:46:06 1171

原创 XML文档中的xmlns、xmlns:xsi和xsi:schemaLocation理解

java开发项目中,经过用到xml配置文件,比如web.xml、applicationContext.xml、pom.xml等。在这些文件中都有xmlns、xmlns:xsi和xsi:schemaLocation配置。例如:web.xml 配置文件<?xml version="1.0" encoding="UTF-8"?><web-app version="3.0" xmlns="htt

2017-03-02 16:02:54 8099 9

原创 java集合梳理

java集合梳理平时在写代码时,经常用到java的集合,使用最多的就是ArrayList与HashMap等,对其它的接口就不甚了解。最近抽出时间对集合整理一下。 collection是集合最顶层接口,位于java.utils包中,接口继承了Iterable接口,因此集合实现迭代功能。public interface Collection<E> extends Iterable<E> {继承Coll

2017-02-07 17:16:14 375

原创 “sqlExeption:数据库连接已关闭”问题

元旦节日后上班,客户打电话说系统无法登陆。登陆系统测试,发现首页能进入,输入用户名和密码,提交无法进入主页,查询后台发现执行验证用户和密码的sql语句时,提示“sqlException:数据库已关闭”。使用toad连接数据库,执行相应的sql语句一切正常。查看session状态发现大量inactive状态存在。自己无力下手,就大绝招,重新启动服务,问题就解决了。但是为什么会出现这个问题呢?于是就开

2017-01-04 09:36:43 2446

转载 详细设计-程序结构图

程序结构图反映程序中模块之间的层次调用关系和联系:它以特定的符号表示模块、模块间的调用关系和模块间信息的传递。结构图主要内容:模块、模块的调用关系和接口、模块间的信息传递、辅助符号、形态特征等。结构图主要有以下内容:模块:模块用矩形框表示,并用模块的名字标记它。模块的调用关系和接口:模块之间用单向箭头连接,箭头从调用模块指向被调用模块,表示调用模块调用了被调用模块。模块间的信息传递

2016-12-21 16:59:21 8214

空空如也

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

TA关注的人

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