Java
文章平均质量分 85
FighterLiu
这个作者很懒,什么都没留下…
展开
-
Redis中SDS简单动态字符串
Redis的底层是使用c语言写的。但是Redis没有直接使用C语言传统的字符串表示(以空字符串结尾的数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的类型,并将SDS用作Redis默认字符串表示。...原创 2022-08-07 20:34:09 · 614 阅读 · 1 评论 -
Redis持久化
因为Redis是内存数据库,它将自己的数据库状态存储在内存里面,所以如果不想办法将存储在内存中的数据库状态保存到磁盘里面,那么一旦服务器进程退出,服务器中的数据库状态也会消失不见。Redis为了解决这个问题,提供了两种持久化方式。一种是RDB,另一种是AOF方式。前者会根据规则“定时”将内存中的数据保存储在磁盘上,而后者在每次执行命令后将命令的本身记录下来。RDB持久化是通过快照(snapshoting)完成的,当符合一定的条件时,Redis会自动将内存中的数据保存到磁盘上。Redis会在以下几种情况下对原创 2022-08-06 16:53:27 · 443 阅读 · 0 评论 -
Java中如何实现文件预览的功能
日常开发中常见的文件格式有pdf,word,Excel,PPT,Html,txt,图片等。pdf,Html,txt,图片这种实现在线预览非常简单,有一些前端的插件可以满足要求。word,Excel,PPT如果要实现在线预览,就非常的困难。word,Excel,PPT实现在线预览常用的方式就是先转换成pdf,然后在进行预览。下面我就介绍常用的几种方案。...原创 2022-07-06 18:23:55 · 16816 阅读 · 3 评论 -
mybatis-plus 更新方法设置字段为空不起效果
项目场景:最近在做一个需求的时候需要把数据库中的某个字段设置为空问题描述在代码中通过set方法对一个字段设置成null,发现并没有起作用原因分析:经过查询是因为mybatis-plus 默认的更新策略设置的问题,mybatis-plus中FieldStrategy 有三种策略:• IGNORED:忽略。不管有没有有设置属性,所有的字段都会设置到insert语句中,如果没设置值会更新为null• NOT_NULL:非 NULL,默认策略。也就是忽略null的字段,不忽略""• NOT_EMP原创 2022-05-21 15:08:21 · 4508 阅读 · 1 评论 -
jdk1.8中HashMap扰动函数及数组长度为什么是2的n次方介绍
文章目录前言一、什么是二进制?二、计算机采用二进制的原因三.十进制与二进制相互转换十进制转成二进制二进制转换为十进制与、或、异或运算按位异或按位与运算按位或运算Jdk1.8中HashMap扰动函数Jdk1.8中HashMap数组的长度为什么是2的n次方前言在阅读jdk1.8中HashMap源码的过程中发现代码中使用了相关二进制位操作的运算,本文先讲解了什么是二进制,及为什么计算机要使用二进制。然后讲解十进制与二进制如何进行转换,及与、或、异或运算 方式。最后介绍了了HashMap的扰动函数及数组的长度原创 2022-01-21 10:51:24 · 864 阅读 · 0 评论 -
ibatis自动生成工具,abator使用方法
介绍 Abator 是一款iBATIS代码生成工具。它从数据库获取信息,然后产生如下文件。 数据库表的SqlMap.xml file 文件,如UserSQL.xml; 数据库表的Java Bean Model,如User.java; 包含一个综合主键的数据库表的主键model,如UserKey.java; 包含DAO层 selectByExample方法的example文件,转载 2012-07-13 08:59:31 · 774 阅读 · 0 评论 -
MyBatis使用Generator自动生成代码
MyBatis中,可以使用Generator自动生成代码,包括DAO层、 MODEL层 、MAPPING SQL映射文件。第一步:配置好自动生成代码所需的XML配置文件,例如(generator.xml): PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://m转载 2012-02-24 14:41:51 · 1165 阅读 · 0 评论 -
struts2中关于ognl.MethodFailedException错误的解决办法
在使用struts2的时候经常会出现: ognl.MethodFailedException: Method "setDenddt" failed for objectcom.drw.pojo.KrigPrewarn@374a374a [java.lang.NoSuchMethodException: com.drw.pojo.KrigPrewarn.setDenddt([Ljava.la原创 2013-03-21 10:57:10 · 4912 阅读 · 0 评论 -
Struts2中Action的跳转方式
2011-02-25 12:23 struts2 跳转类型 result type=chain、dispatcher、redirect(redirect-action)dispatcher 为默认跳转类型,用于返回一个视图资源(如:jsp) Xml代码 : /main.jsp /main.jsp 以上写法使用了两个默认,其完整的写法为: /原创 2013-03-13 10:18:05 · 922 阅读 · 0 评论 -
struts2+spring中action的生命周期问题
将struts2中的action交给spring管理 如果没有指定scope就会出现验证时第一次验证的结果一直存在,导致后面的验证根本没有进行 所以在spring中配置action时要指定scope属性为prototype class="cn.link.sgums.action.RandomImageAction" scope="prototype">这样就ok了 默认的s转载 2013-03-05 15:15:20 · 546 阅读 · 0 评论 -
UML类图关系
在UML类图中,常见的有以下几种关系: 泛化(Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency) 1. 泛化(Generalization) 【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的转载 2012-06-12 17:16:08 · 820 阅读 · 0 评论 -
XSD工具使用方法介绍
XSD使用方法介绍XSD工具位于:C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin目录下。XSD工具有很多功能,如下:1、将XDR 转换 XSD 使用精简 XML 数据架构文件生成 XML 架构。 XDR 为早期基于 XML 的架构格式。2、XML转换XSD 使用 XML 文件生成 XML 架构。3、XSD转换DataSet原创 2013-12-20 13:50:13 · 4509 阅读 · 0 评论 -
根据XML生成XML schema(*.xsd)
.下载工具trang将trang加入path2.生成xsd文件Dos代码java -jar trang.jar XXX1.xml XXX2.xsdOK ,enjoy!说明:XXX1.xml是输入参数,此处支持的文件格式为: rng rnc dtd xmlXXX2.xsd是输出参数,此处支持的文件格式为: rng转载 2013-12-20 13:59:09 · 2222 阅读 · 0 评论 -
jaxb根据*.xsd文件生成相应的java类
1.首先我们需要去下一份JAXB的实现,可以去SUN(现在的oracle)网站上去下载:http://jaxb.java.net/。2.用docs命令进入jaxb的bin目录。3.在bin目录中新建一个src目录4.把相应的*.xsd放入bin目录中4.执行如下命令 xjc.bat workflow.xsd -d src -p com.lxh.workflow.model原创 2013-12-20 13:55:39 · 2805 阅读 · 0 评论 -
工作流几种常用的模式
1、 没有任何分支和条件的(如下图)该流程会按照A—B—C的顺序依次往下走。2.带有分支的(如下图)这种情况又可以分为如下几种情况: (1):节点A的后驱并行,D的前驱异或聚合。当节点A提交后,流程同时到达B,C,只要B或者C有一个人提交流程就流转到D(如下图)。(2):节点A的后驱并行,D的前驱同步聚合。当节点A提交后,流程同时到达B,c原创 2013-12-26 16:42:07 · 3224 阅读 · 1 评论 -
Ibatis批量操作
/** * 批量删除 * @param statementName sql文件ID * @param list 参数集合 */ public void batchDelete(final String statementName, final List list) throws Exception{原创 2012-02-03 10:06:52 · 2651 阅读 · 3 评论 -
Spring+ibatis动态管理数据源
Spring动态配置多数据源,即在大型应用中对数据进行切分,并且采用多个数据库实例进行管理,这样可以有效提高系统的水平伸缩性。而这样的方案就会不同于常见的单一数据实例的方案,这就要程序在运行时根据当时的请求及系统状态来动态的决定将数据存储在哪个数据库实例中,以及从哪个数据库提取数据。Spring配置多数据源的方式和具体使用过程。 Spring对于多数据源,以数据库表为参照,大体上可以分成两转载 2013-10-30 15:58:52 · 621 阅读 · 1 评论 -
Ibatis中resultMap和resultClass的区别
1、resultMap属于直接映射,可以把结果集中的数据库字段与实体类中的属性一一对应,这样通过select语句得到的结果就会准确的对上号 2、resultclass属于隐身映射,虽然你指定resultclass=“”,具体某一个类,但是select语句得到的结果是一条实力记录,但如果数据库字段与类的属性名字不一致,这个时候就会出现映射错误,有一种方式可以解决就是在写select语句时,给每个原创 2013-03-06 16:57:06 · 2077 阅读 · 0 评论 -
poi导出Excel的一个公共方法(Struts1)
package com.aegon_cnooc.util;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Map;import javax.servlet.ServletOutputStream;import javax.servlet.http.HttpServl原创 2012-01-11 13:45:49 · 1902 阅读 · 0 评论 -
java 操作 PDF
设置路径的方法: public String getPath(String path) { path = ("C:\\" + path + ".pdf"); return path; } // 设置字体的方法 public static Font font() { BaseFont baseFon转载 2012-11-14 16:25:11 · 543 阅读 · 0 评论 -
POI读取Excel
package edu.sjtu.erplab.poi;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.text.SimpleDateFormat;im转载 2012-11-06 09:25:41 · 549 阅读 · 0 评论 -
如何自定义FusionCharts图表上的工具提示?
FusionCharts中的工具提示是什么?当鼠标悬停在一个特定的数据点上时就会显示工具提示,提示以下信息:单系列图表(饼图和圆环除外):名称及数值Pie & Doughnut:名称及数值/百分比多系列组合图表:系列名称,类别名称,数据值如何禁用FusionCharts图表中的工具提示?你可以通过设置showToolTip='0'来禁用工具提示。例如:如何在Fusi转载 2013-01-10 17:06:11 · 467 阅读 · 0 评论 -
基于jsonrpc-1.0.jar创建json格式的数据
package com.alex.entity;public class JobEntity { private String loc; private String deptName; private Float Sal; public JobEntity() { super(); } public JobEntity(String loc,原创 2012-01-10 15:17:00 · 1973 阅读 · 0 评论 -
基于json-lib.jar包 创建JSONObject的四个常用方法
基于json-lib.jar包Json实例程序1.从头或者从零开始,创建一个JSONObject(Creating a JSONObject from scratch)实例1: JSONObject jsonObject = new JSONObject(); jsonObject.element("name", "周星星"); jsonObject.elemen转载 2012-01-10 15:19:37 · 577 阅读 · 0 评论 -
json介绍
什么是JSON•JSON是JavaScript Object Notation的简写,是结构化数据串行化的文本格式•JSON是一种轻量级的数据交换格式。作为XML的一种替代品,是一种用于客户端与服务器之间进行数据交换的预定义格式•JSON能够描述四种简单的类型(字符串、数字、布尔值及null)和两种结构化类型(对象及数组) JSON语法•JSON建构于两种结构: –"名原创 2012-01-10 15:37:29 · 721 阅读 · 0 评论 -
密码的加密与解密
MD5加密(不能解密)public class Encrypter {// default algorithm is MD5 public static String encrypt(String message) throws Exception { return encrypt(message, "MD5"); } // algorithm: MD5 or SH原创 2012-04-28 10:28:23 · 1115 阅读 · 4 评论 -
IO流的总结
IO流主要包括以下内容:(1).使用File类进行文件操作。(2).使用字节流读写文件。(3).使用字符流读写文件。 使用File类操作目录:File类主要常量及方法 :方法或常量类型描述String separator常量文件路径分隔符 public Fil原创 2012-03-21 14:19:09 · 1012 阅读 · 1 评论 -
权限管理控制算法(位与算)
这里我介绍一种很常用,也比较Professor的权限控制思路。这里我用java语言描述,其实都差不多的。自己转一下就可以了。为了方便,我们这里定义a^b为:a的b次方这里,我们为每一个操作设定一个唯一的整数值,比如:删除A---0修改A---1添加A---2删除B---3修改B---4添加B---5。。。理论上可以有N个操作,这取决于你用于储转载 2012-03-20 13:36:51 · 484 阅读 · 0 评论 -
权限计算的辅助类
import java.math.BigInteger;/** * @author Administrator * 权限计算帮助类 */public class RightsHelper { /** * 利用BigInteger对权限进行2的权的和计算 * @param rights int型权限编码数组 * @return 2的权的和 */转载 2012-03-20 13:20:49 · 578 阅读 · 0 评论 -
实现业务系统中的用户权限管理--设计篇 .
实现业务系统中的用户权限管理--设计篇 B/S 系统中的权限比C/S中的更显的重要,C/S系统因为具有特殊的客户端,所以访问用户的权限检测可以通过客户端实现或通过客户端+服务器检测实现,而B /S中,浏览器是每一台计算机都已具备的,如果不建立一个完整的权限检测,那么一个“非法用户”很可能就能通过浏览器轻易访问到B/S系统中的所有功能。因此B/S业务系统都需要有一个或多个权限系统来实现访问转载 2012-03-15 10:02:40 · 437 阅读 · 0 评论 -
java多线程下载文件
文件下载采用多线程方式能够显著提高下载速度,关键点是设置线程的读取开始和结束位置。下面的代码,采用线程池启动10个线程来执行下载。import java.io.BufferedInputStream;import java.io.IOException;import java.io.RandomAccessFile;import java.net.HttpURLConnection转载 2012-02-29 17:00:21 · 371 阅读 · 0 评论 -
类找不到总结java.lang.ClassNotFoundException
(1)org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class'com.microsoft.sqlserver.jdbc.SQLServerDriver' 答:sqljdbc.jar(2)java.lang.ClassNotFoundException: org.springfr转载 2012-02-23 16:25:16 · 18134 阅读 · 2 评论 -
java中获取访问路径
request.getRequestURL()与request.getRequestURI() 有啥区别? request.getRequestURI() 返回值类似:/myContext/requestdemo.jsp返回值是Stringrequest.getRequestURL() 返回值类似:http://localhost:8080/myContext/requestd原创 2012-05-03 17:28:14 · 1601 阅读 · 1 评论 -
Java编程中的性能优化(转)
1.尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面第一,控制资源的使用,通过线程同步来控制资源的并发访问第二,控制实例的产生,以达到节约资源的目的第三,控制数据共享,在不建立直接关联的条件下,让多个不相关的进程或线程之间实现通信-2.尽量避免随意使用静态变量转载 2012-06-13 10:00:33 · 371 阅读 · 0 评论 -
JadClipse下载安装
JadClipse是一个能够完全整合Jad(快速Java反编译工具)和Eclipse的插件通常,当打开一个class文件的时候,class文件查看器会显示一个简洁的class应用程序接口。如果你安装了这个插件,Eclipse默认的查看器会被JadClipse的Class文件查看器所替代,JadClipse的Class文件查看器能够显示反编译过的Class源代码。这些都是通过在使用Jad反编译相转载 2012-07-16 09:15:59 · 722 阅读 · 0 评论 -
如何在JSP页面中使用JSTL标签实现if-else判断
和 、 一起实现互斥条件执行,类似于 java 中的 if else. 一般作为 、 的父标签。eg : 初学下海 =10000&&row.v_money 身手小试 商业能手原创 2012-11-19 17:06:59 · 1899 阅读 · 0 评论 -
tomcat配置多个web网站的配置详解
假如只有一台服务器,需要配置多个web网站,该怎么样配置tomcat呢,其实很简单,只需要将tomcat 下面的 server.xml 中增加两个甚至是多个…… 标签即可, 标签的内容如下例子,其中需要注意的是每个web 项目的目录不要在同一个目录下,host标签中的 name 不能想能相同, 否则配置不成功(实际配置经验总结呀!!!). …… 标签内是放自己的域名,加进去就OK。。。。转载 2012-12-23 16:05:13 · 564 阅读 · 0 评论 -
数据库类型与JDBC TYPE 和Java类型对应关系
下表说明用来当作从产生资源的模型的java.sql.Type值之间的关系,其对应的Java物件类型,以及在受支援的JDBC平台上每一个这些类型的实作(若有的话)。 表格也会指出标准Portal Content Publishing范本所支援的类型。其他类型可透过使用自订的范本加以支援。 下列类型会受双位元组语言的限制影响: CHAR和GRAPHIC自动对映到编写模式的CHAR。 L原创 2013-03-22 13:36:57 · 4977 阅读 · 0 评论 -
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: on near line 3解决方法
在写sql的时候可能会出现以下sql语句:select a.name,b.age from TableA a left join TableB b on a.id=b.id 如果这是HQL,那么这段代码就是错误的,因为HQL不支持ON这个字符,如果要做关联关系就必须将On改为where:select a.name,b.age from TableA a left join T原创 2013-09-13 17:32:45 · 1738 阅读 · 0 评论 -
Jakarta-Common-Math使用笔记
apache的math组件,尽管不常用,我今天也整理出来。下载地址: http://commons.apache.org/math/示例代码:package demo;import org.apache.commons.math.stat.descriptive.moment.GeometricMean;import org.apache.commons.math.stat转载 2013-12-05 20:07:06 · 1628 阅读 · 0 评论