fastjson:获取类(Class)的所有可序列化字段(field)

用fastjson对一个类进行序列化时,在没有类的实例只有类的Class的情况下,如果想知道这个Class有所有可以被序列化的字段名,可以用`com.alibaba.fastjson.util.TypeUtils.computeGetters(Class clazz, Map aliasMap)`方法来实现,实现代码很简单:...
阅读(61) 评论(0)

fastjson:javabean按字段(field)序列化存储为Map并反序列化改进

需求说明最近的项目应用到redis数据库,需要将java bean存储在redis数据库。因为需要对数据库中的某个字段进行修改,所以在redis上不能用简单的string类型存储,而要以hash类型存储。这就需要在向数据库写入java bean对象之前要将java bean按字段序列化为一个Map 。 而在从数据库读取后,又需要将所有字段合并反序列化还原成一个java...
阅读(75) 评论(0)

fastjson:javabean按字段(field)序列化存储为Map并反序列化

大部分json工具对java对象整体序列化都提供了简单的调用方式,以fastjson为例:Model model = new Model(); String json = JSON.toJSONString(model); // 序列化 Model model2 = JSON.parseObject(json, Model.class); // 反序列化需求说明最近的项目应用到redis数据库,需要将...
阅读(68) 评论(0)

java:利用fastjson判断一个类型(java.lang.reflect.Type)是否是一个javabean

fastjson中JSON.toJSON(Object javaObject)方法将一个java对象被序列化成json对象时,返回的对象类型有三种可能:JSONObject,JSONArray,原始类型(简单类型)。 最近在使用fastjson进行对java对象序列化和反序列化时,遇到一个问题: 需要判断一个类型(java.lang.reflect.Type)是否为一个java bean(这里所...
阅读(123) 评论(0)

java:关于json解析工具选型(JSON-java,json-lib,gson,fastjson)

没有最好的工具,只有最适合的. 最近的项目需要对java 对象和json之间的序列化和反序列化,更准确的说是java bean对象和json之间的转换,使用哪个工具进行转换,让我犹豫了不少时间。 json工具有很多 http://json.org 中列出不少,我接触过的有JSON-java,json-lib,google-gson,还有阿里巴巴的fastjson。JSON-java我最早用过的是...
阅读(86) 评论(0)

jedis:连接池(JedisPool)使用示例

Jedis实例不是线程安全的,所以不可以多个线程共用一个Jedis实例,但是创建太多的实现也不好因为这意味着会建立很多sokcet连接。 JedisPool是一个线程安全的网络连接池。可以用JedisPool创建一些可靠Jedis实例,可以从池中获取Jedis实例,使用完后再把Jedis实例还回JedisPool。这种方式可以避免创建大量socket连接并且会实现高效的性能. JedisPool初...
阅读(119) 评论(0)

java:bytes[]转long的三种方式

bytes[] 到数字类型的转换是个经常用到的代码,解决方式也不止一种,最近需要将bytes[]转为long,有机会深入了解了一下,此文做个总结。java代码实现如果不想借助任何已经有的类,完全可以自己实现这段代码,如下: /** * 将字节数组转为long * 如果input为null,或offset指定的剩余数组长度不足8字节则抛出异常 * @para...
阅读(267) 评论(1)

mysql/jdbc:设置useInformationSchema=true读取表注释信息(table_comment)

问题描述今天在读取表的注释信息(COMMENT)时,发现返回的REMARKS字段返回居然是null. 以下是代码示例: DatabaseMetaData meta = this.pConnection.getMetaData(); // 获取所有表信息 ResultSet resultSet = this.meta.getTables(this.catalog, tableSchema, patt...
阅读(242) 评论(1)

maven:sql-maven-plugin插件执行sql脚本

sql-maven-plugin插件提供了sql脚本的执行功能,允许用户执行指定的sql脚本文件或语句。最近在进行一个项目是基于maven管理的java开发项目,其中有一个环节要对数据库初始化创建表,需要在maven中执行,正好有机会学习了sql-maven-plugin的使用. 关于sql-maven-plugin的详细说明参见http://www.mojohaus.org/sql-maven...
阅读(246) 评论(0)

maven:调用ant执行build.xml的两种方式

sql2java是通过ant脚本组织项目来实现java代码生成的,所以要使用sql2java就必须使用ant来执行build.xml脚本。如果自己项目是用maven来组织管理的,那么要使用sql2java来生成代码就涉及到maven执行ant脚本的问题。 maven提供了执行ant脚本的功能,这里就用到了maven插件maven-antrun-plugin。sql2java/pom.xml<?xm...
阅读(101) 评论(0)

Caffe: Could not find PROTOBUF Compiler(Profobuf 3.0 above)

在用cmake生成Caffe工程文件的时候,如果你使用Protobuf 3.0以上的版本,cmake可能会产生如下的报错: CMake Error at cmake/ProtoBuf.cmake:18 (message): Could not find PROTOBUF Compiler Call Stack (most recent call first): cmake/...
阅读(334) 评论(0)

sql2java:一次外科手术式的bug修复过程

我接触的第一个也是目前唯一的ORM工具就是鲜为人知的sql2java,这个名字倒是很容易顾名思义,一看就知道是自动生成数据库访问代码(java)的code generator. 关于它的使用介绍,参见我的一篇博文《sql2java:一个古老但稳定的轻量级的ORM工具的使用说明》。 如果你看过上一篇文章,就知道sql2java这个开源项目早已经不再维护,是个老古董了,如果使用它的过程中遇到的问题,...
阅读(2314) 评论(2)

sql2java:一个古老但稳定的轻量级的ORM工具的使用说明

大约在2011年,我刚开始接触java开发的时候 ,接触的第一个ORM工具就是sql2java. 官网地址:https://sourceforge.net/projects/sql2java 这是一个轻量级的java code generator.可以根据你的要求,对数据库中指定的table/view生成全套的java bean 对象以及针对这张表常用数据库操作(增/删/改/查),支持事务,有了...
阅读(401) 评论(0)

OpenBLAS:改进OpenBLASConfig.cmake生成方式,解除cmake脚本的路径依赖

当我们用OpenBLAS提供的Makefile进行编译,并用make install PREFIX=/you/install/path,安装到指定的路径时,你会发现,/you/install/path/lib/cmake/openblas/OpenBLASConfig.cmake文件中OpenBLAS_INCLUDE_DIRS和OpenBLAS_LIBRARIES的值都是绝对路径...
阅读(1119) 评论(0)

Windows下MSYS2中编译OpenBLAS过程记录

OpenBLAS(https://github.com/xianyi/OpenBLAS)目前已经提供了CMakeLists.txt,在Windows下可以通过cmake生成Makefile脚本,然后用MinGW或GCC编译。 但是,CMakeLists.txt中已经有警告申明,cmake支持还在实验中,并不会生成与OpenBLAS自带的Makefiles相同的内容,而且只支持32位编译,而且目前版...
阅读(484) 评论(0)

MSVC/MinGW中导入glog静态库的正确方式

在linux下使用glog静态库,编译连接时只要加上glog静态库文件(.a)就可以了,在windows环境,我也同样的办法在自己的项目中使用glog静态库,用msvc/mingw编译。。。然而链接时报错了,无数的错误都是找不到glog的符号(undefined reference)… 我的项目是cmake生成的工程文件,glog也是我自己用cmake编译出来的,为了查找原因我查看了glog提供的...
阅读(284) 评论(0)

VS2013编译boost 1.62:.\boost/type_traits/common_types.h(42) : fatal error C1001: 编译发生内部错误

这几天用VS2015编译boost 1.62很正常,但是在用VS2013编译boost1.62的时候,却报错了: \boost/type_traits/common_types.h(42) : fatal error C1001: 编译发生内部错误 根据网上找到了这篇文章《vs2013编译boost1.60库》搞明白是和VS2013对C++11 SFINAE特性支持不够有关。(boost 1.6...
阅读(341) 评论(0)

powershell: 判断PSObject中是否有指定property的靠谱方法

如何判断一个PSObject中是否定义指定名称的属性,下面的代码中举出了三个方法$test=New-Object PSObject -Property @{ compiler=$null } #方法一(不完全靠谱) $test.compiler -ne $null #方法二 (Get-Member -inputobject $test -name "compiler" ) -...
阅读(192) 评论(0)

cmake: 使用jom实现msvc工程并发编译提高速度(-j)

msvc提供的nmake并没有并发编译功能(类似gcc make的-j参数指定并发编译的任务数), 而第三方工具jom(http://wiki.qt.io/Jom)解决了这个问题,jom可以像gcc 的make一样 通过-j参数指定并发编译,让cpu全速运行,可以大大提高编译速度,节省大型项目的编译时间。 cmake也支持jom编译,cmake 有一个名为”NMake Makefiles JOM...
阅读(438) 评论(0)

cmake:msvc编译第三方库时使用/MT静态库连接c/c++ runtime library

关于在cmake生成msvc工程时静态链接c/c++运行库的问题,很久以前写过一篇博客《cmake设置msvc的运行库(runtime library)塈指定openjpeg使用静态库》。当时的办法是在CMakeLists.txt中加一段代码将C_FLAGS_XXX,CXX_FLAGS_XXX等所有变量中的/MD替换成/MT ,就这样解决了问题。 if(MSVC) # Us...
阅读(381) 评论(0)
265条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:385906次
    • 积分:6872
    • 等级:
    • 排名:第3492名
    • 原创:264篇
    • 转载:1篇
    • 译文:0篇
    • 评论:146条
    文章分类
    最新评论
    我的项目