自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lalioCAT的专栏

入门菜鸟记录点小心得

  • 博客(51)
  • 资源 (2)
  • 收藏
  • 关注

转载 Java避免Socket的read等阻塞操作无限等待

转自:http://blog.csdn.net/fw0124/article/details/412275431)发送完后调用Socket的shutdownOutput()方法关闭输出流,这样对端的输入流上的read操作就会返回-1。 注意不能调用socket.getInputStream().close()。这样会导致socket被关闭。 当然如果不需要继续在socket上进行读操作,也可以直

2016-10-08 17:01:53 9632 1

原创 经过Base64加密后字符的长度变化

Base64加密后字符长度变化问题:文字中包含了emoji表情,公司数据库版本较老,utf-8无法存储emoji这种四个字节的字符。所以解决方案是将文字转换成base64后存入。mysql要对字段长度进行限制,需要知道原文本长度与base64加密后文本长度的比例。所谓Base64,就是说选出64个字符—-小写字母a-z、大写字母A-Z、数字0-9、符号”+”、”/”作为基本基础集的编码方式。base

2016-09-14 14:21:16 26229 2

原创 Quartz定时框架

放在周记里面了,CSDN放图片太麻烦了,就不放上来了。

2016-07-14 20:14:12 487

原创 JSP入门以及字符编码问题

字符编码 post请求:request.setCharacterEncoding=”utf-8”;get请求:在TOMCAT目录下的conf/server.xml中修改配置文件–>找到标签,往标签中添加属性URIEncoding=”utf-8”,重启服务器。JSP的九大内置对象 out – JSPWriter对象,用来往网页输出数据。request –HTTP request对象respon

2016-07-07 13:09:27 884

原创 spring 和 mybatis 结合的mapper问题

项目中mapper.java 和dao.java文件的内容是一样的,所以我做了整合,把mapper.java删掉掉了,用dao.java代替。同时把xml中的namespace指向了dao的package。但是项目运行的时候出现了问题,发现程序执行过程不经过daoImpl。在service层直接进入了xml的sql代码中。 理了理逻辑,daoImpl上写了@Repository, service层

2016-07-01 17:50:54 2452

原创 Redis常见集群对比

跳转到:http://www.infoq.com/cn/articles/effective-ops-part-03

2016-07-01 16:44:56 597

原创 JAVA 加载文件的三种方式的区别

InputStream is = this.getClass().getClassLoader().getResourceAsStream(fileName) ①InputStream is = this.getClass().getResourceAsStream(fileName) ②InputStream is = Thread.currentThread().getConte

2016-05-31 10:46:39 1015

原创 mysql5.7 修改root密码

初次安装mysql5.7,启动mysql服务之后,无法登录root,提示error:1045。这个错误是因为账号密码错误导致的。解决方案:①:在ini文件中的[mysql]下面追加一行      skip-grant-tables②:重启mysql服务③:登录root账户(因为在添加了skip-grant-tables,所以不用密码即可登录)④:USEmysql;UPDATE

2016-05-30 16:15:12 1096

原创 mysql无法启动 服务没有报告任何错误 -- 解决方案

5.7版本的mysql下载之后,在安装目录下面没有data文件夹,net start mysql 命令无法启动mysql 服务。①使用mysql --initialize 命令初始化data文件夹②使用net start mysql 启动mysql 服务即可启动成功

2016-05-30 14:26:25 8039 1

转载 IP TCP UDP 报文格式

转自:http://blog.sina.com.cn/s/blog_5544469d010007qn.htmlIP数据报UDP TCP报文格式" title="IP UDP TCP报文格式" style="margin:0px; padding:0px; border:0px; list-style:none; width:520px; height:253px">版本:V

2016-04-02 14:42:44 1498

转载 java大数相乘

转自:http://blog.csdn.net/sunkun2013/article/details/11822927   为了方便画图及说明,图以两小数1234和3456相乘为例,大数的思路等同。思路图解Step 1:  Step 2:Step 3:   Step 4:     思路清晰了,下面就应该进行

2016-03-30 12:22:13 699

转载 MySQL索引背后的数据结构及算法原理

转自:http://blog.codinglabs.org/articles/theory-of-mysql-index.html作者 张洋 | 发布于 2011-10-18MySQL 索引 B树 优化摘要本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数

2016-03-23 11:13:00 529

转载 面向报文(UDP)和面向字节流(TCP)的区别

转自:http://blog.csdn.net/ce123/article/details/8976006面向报文(UDP)和面向字节流(TCP)的区别面向报文的传输方式是应用层交给UDP多长的报文,UDP就照样发送,即一次发送一个报文。因此,应用程序必须选择合适大小的报文。若报文太长,则IP层需要分片,降低效率。若太短,会是IP太小。UDP对应用层交下来的报文,既不合并,也不

2016-03-16 10:26:41 2505

转载 java深复制和浅复制的区别

转自:http://blog.csdn.net/tkd03072010/article/details/6730513首先我们看看浅拷贝和深拷贝的定义    浅拷贝:只复制一个对象,对象内部存在的指向其他对象数组或者引用则不复制    深拷贝:对象,对象内部的引用均复制    为了更好的理解它们的区别我们假设有一个对象A,它包含有2对象对象A1和对象A2

2016-03-14 16:48:26 1481

转载 hibernate缓存机制详解

转自:http://www.cnblogs.com/xiaoluo501395377/p/3377604.html在本篇随笔里将会分析一下hibernate的缓存机制,包括一级缓存(session级别)、二级缓存(sessionFactory级别)以及查询缓存,当然还要讨论下我们的N+1的问题。随笔虽长,但我相信看完的朋友绝对能对hibernate的 N+1问题以及缓存

2016-03-12 18:01:35 734

转载 java nio bio aio

转自:http://blog.csdn.net/liuxiao723846/article/details/45066095java中的IO主要源自于网络和本地文件      IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个Ser

2016-03-12 17:58:31 748

转载 jdk1.8新特性详解

转自:http://www.oschina.net/translate/everything-about-java-8建议去看原文,此处转载只是为了记录。这篇文章是对Java 8中即将到来的改进做一个面向开发者的综合性的总结,JDK的这一特性将会在2013年9月份发布。在写这篇文章的时候,Java 8的开发工作仍然在紧张有序的进行中,语言特新和API

2016-03-12 17:48:45 40646 1

转载 使用ASM实现AOP(2) -- 玩转 ASM-Bytecode

转自:http://my.oschina.net/u/1166271/blog/163550  本文是《深入字节码 -- 使用 ASM 实现 AOP》的后续博文。在上一篇文章中介绍了如何使用 ASM 动态安插代码到类中,从而简单实现 Aop。文章得到了广大朋友好评,我也希望可以不负众望继续写出可以得到大家认可的更多相关文章。废话不多进入正题。    古语有云“工欲善

2016-03-12 16:56:54 3244

转载 使用ASM实现AOP(3) -- ASM 关键类型 ClassVisitor

转自:http://my.oschina.net/u/1166271/blog/163637本文是《深入字节码 -- 使用 ASM 实现 AOP》的后续博文。在上一篇文章中介绍了如何使用 ASM 动态安插代码到类中,从而简单实现 Aop。文章得到了广大朋友好评,我也希望可以不负众望继续写出可以得到大家认可的更多相关文章。本文主要讲解 ASM 核心接口方法和其参数意义。另外本

2016-03-12 16:55:52 643

转载 使用ASM实现AOP(4) -- ASM 关键接口 MethodVisitor

转自 :http://my.oschina.net/u/1166271/blog/220011本文是《深入字节码 -- 使用 ASM 实现 AOP》的后续博文。在上一篇文章中介绍了如何使用 ASM 动态安插代码到类中,从而简单实现 Aop。文章得到了广大朋友好评,我也希望可以不负众望继续写出可以得到大家认可的更多相关文章。本文主要讲解 ASM 核心接口方法和其参数意义。另外

2016-03-12 16:54:21 1120

转载 使用ASM实现AOP(1)

转自:http://my.oschina.net/u/1166271/blog/162796?p=2#comments  AOP 的概念已经不是什么新鲜事物,所以我在这里就不在介绍 Aop 的概念。目前市面上要做到 Aop 是一件十分简单的事情。Spring、AspectJ、CGLib等等都可以帮助你达到目的,但是它们也只不过是一些泛生品。    上面提到了一些开源的

2016-03-12 16:51:41 555

转载 AOP的实现原理

转自:http://www.ibm.com/developerworks/cn/java/j-lo-asm30/引言什么是 ASM ?ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定

2016-02-16 19:20:14 2695

转载 JAVA JXL API的详细使用

转自:http://www.cr173.com/html/10377_1.html1 开发调研1.1 需求描述MS的电子表格(Excel)是Office的重要成员,是保存统计数据的一种常用格式。作为办公文档,势必要涉及到的电子文档的交换,Excel是一种在企业中非常通用的文件格式,打印和管理也比较方便。在一个Java应用中,将一部分数据生成Excel格式,是与其他系统无缝连接的重要手段

2016-01-25 14:45:52 33935 2

原创 公钥和私钥的使用机制

公钥:对外公开的密钥。下文用G标记 私钥:私自保留的密钥。下文用S标记公钥私钥是相互 加/解 密的,也就是公(私)钥加密的文件需要用私(公)钥来解密。其中还涉及了数字证书的概念: 最基本的交互过程是:用户A用私钥S(A)对信息进行加密,然后发送给用户B,用户B使用用户A的公钥G(A)对信息进行解密。 当公钥对私钥加密的文件进行解密时,需要证明公钥的持有者是合法持有者。这种情况下就诞生了具有公信

2016-01-15 18:18:12 2519

转载 java中static{}块

转自:http://blog.csdn.net/lubiaopan/article/details/4802430static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示

2016-01-09 02:28:17 598

原创 eclipse hashmap 发生InvocationException的解决方案

昨天晚上在调试程序的时候,发现HashMap出错,于是一步步的调试,发现是在把数据装入容器的过程中hashmap发生了com.sun.jdi.InvocationException,这个Exception竟然在hashmap内部就被catch住了,而且也没有任何提示,所以程序运行的时候根本察觉不出来。一直找不到解决方案,今天早上一看,发现项目用的JDK竟然是1.6版本的,于是我猜是JDK的版本过低导

2016-01-07 19:52:49 2930

原创 eclipse cannot resolved to a type 多种解决方案

这种错误大多数发生在新导入的项目,发生这种问题的原因有很多,我们一个个来排查。①jdk版本不匹配 重新修改一下buildpath的jre配置②jar包问题 如果是jar包缺失,则去下载相应的jar包,并导入。也有可能是lib中的jar包没有导入buildpath中③eclipse设置问题 右键项目 -> properties -> java Compiler (在左边) -> enable p

2016-01-07 18:29:40 927

转载 hibernate对象的三种状态

1.临时状态 由 new命令开辟内存空间的java对象,例如: User user=new User();临 时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系.(a) 如 果没有变量对该对象进行引用,它将被gc回收;(b) 在Hibernate中,可通过 session的save()或saveOrUpdate()方法将瞬时对象与数据库相关联,并将数据对应的插入数据库中,

2016-01-04 16:27:33 460

原创 hibernate的merge和limit用法

merge: 今天在做数据的update操作时,遇到了错误:a different object with the same identifier value was already associated with the session 错误原因:session中有两个相同id的实例,无法进行update操作。 初步设想:把session缓存中的某个对象remove掉,但是发现session

2016-01-04 16:23:10 1645

原创 git入门命令

本地操作: pwd //显示当前目录 git init //为当前目录创建git仓库 git add filename //给git仓库添加或修改filename文件 git rm filename //删除filename文件 git commit -m “log” //提交修改,log写的是这次提交的备注 git status //查看git仓库跟本地目录的文件有没有不同 git

2015-12-30 17:23:39 550 1

原创 java容器浅析

java容器的关系图解: 几个常用的容器图解:(容器里面装的必须是Object,只能是堆里的东西) Collection 接口: 容器类在调用remove,contains方法的时候会比较两个对象是否相等,这就涉及到了对象的equals方法和hashcode方法(作为key时) 重写equals方法的时候,同时也应该重写hashcode方法,保证两个对象在equals时的时候hashco

2015-12-30 17:19:43 663 1

原创 java内存模型的三个代

java内存模型的三个代:年轻代,年老代,持久代。Young年轻代:存放比较新的对象模型,使用的是复制算法(把内存分成两份,分别为活动区和空闲区,当活动区放满时启用GC复制算法,把活动区的有效对象复制到空闲区,然后区域对换)Tenure年老代:年轻代的对象经过一次GC年龄就增加1,当年龄到达一定程度,就会被移入年老代young和tenure共同组成了java的堆内存

2015-12-30 17:00:50 854

原创 tomcat跟apache的区别

tomcat是运行在apaceh上面的应用服务器,是一个servlet的容器,可以说是apache的拓展,但是可以独立与apache运行。apache服务器本身只能处理静态页面(如html),不过通过增加插件之后可以支持PHP(LAMP)tomcat除了处理静态页面之外,还能处理动态页面(如JSP)

2015-12-25 19:07:38 767

转载 JAVA虚拟机干货

转自:http://www.chinaitlab.com/Java/Jvm/956601.html堆内存设置  原理  JVM堆内存分为2块:Permanent Space 和 Heap Space.  Permanent 即 持久代(Permanent Generation),主要存放的是Java类定义信息,与垃圾收集器要收集的Java对象关系不大。 

2015-12-08 11:24:26 599

转载 JVM启动参数详解

文章转自:http://blog.sina.com.cn/s/blog_5dd380b90100c12r.htmlJAVA虚拟机(JVM)通过操作系统命令JAVA_HOME\bin\java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态进行调整,掌握参数的含义可对虚拟机的运行模式有更深入的理解。虚拟机参数分

2015-09-24 18:28:17 4417

原创 JAVA线程中ThreadLocal和volatile的说明

ThreadLocal (线程局部变量):为每一个使用该变量的线程都提供一个变量值的副本,是每一个线程都可以独立地改变自己的副本,而不会和其它线程的副本冲突。从线程的角度看,就好像每一个线程都完全拥有该变量。volatile : 多线程中,防止主存中的数据与线程工作内存中的数据不一致,用来保证数据的一致性。这俩个有点相反的意思。

2015-07-22 00:59:15 1461

原创 JAVA线程的工作内存

首先,先传代码,有图片,也有文件,看不清的朋友可以直接下载文件回去跑一下,感受一下。我解释一下吧,大概意思就是在一个线程里面不断的跑,如果a=0,就把a加到5,然后建立子线程,再在子线程里面把a减到0。预想的结果是这个循环会无限的执行打印语句,但是事实上,并没有。因为进不去 if 语句。也就是说,虽然子线程把a减到了0,主存中的a等于0,但是在main里面new出来的线程里面的

2015-07-22 00:00:29 1325

原创 如何把数组写入mysql数据库

如果直接把数组拼接SQL语句的话,根据你拼接的方式不同,会有两种情况:1、SQL执行成功,把数组的地址存入了数据库。2、SQL执行失败,因为数组的内容有引号或者乱码等问题,导致SQL语句无法被编译通过。解决方案如图:我这里用的是hibernate的框架,如果看不懂没关系,直接看红色框框就行了,我是用了set入参的方法。相信入门了的朋友都知道这个方法,要是不知

2015-07-14 00:53:22 12536

转载 Mysql数据库的优化

文章转自:https://github.com/qiwsir/ITArticles/blob/master/Mysql/mysql%E5%A4%84%E7%90%86%E6%B5%B7%E9%87%8F%E6%95%B0%E6%8D%AE%E6%97%B6%E7%9A%84%E4%B8%80%E4%BA%9B%E4%BC%98%E5%8C%96%E6%9F%A5%E8%AF%A2%E9%80%9F

2015-07-08 20:03:05 926

原创 JAVA线程的初步学习

线程与进程的区别:一个进程可以由很多个线程组成。线程是进程里面的一个执行路径。例如“人在跑”是一个进程,而“大腿肌肉收缩”是其中的一个线程。进程是静态的概念,它本身并不能跑,一个exe,一个class,都可以说是进程,平常说的进程的执行,主要是讲其中的main函数(主线程)跑起来了。在机器上运行的实际上都是线程。现在主流的系统都是支持多进程的,例如你打开了QQ的

2015-07-07 17:10:55 634

Java资料汇集123

Java资料汇集

2019-03-31

Java资料汇集

Java资料汇集

2019-03-31

空空如也

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

TA关注的人

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