java
Mr.wu的博客
这个作者很懒,什么都没留下…
展开
-
JAR中非Serializable接口类实现序列化
实现序列化的类中,所有的成员变量类型均需要实现Serializable接口。当JAR中的类未实现序列化,但又想实现序列化功能,除了反编译后修改类并替换JAR类外,还可以通过子类继承的方法。例如:OpenCV中的Point类未实现Serializable接口可继承Point接口,再实现Serializable接口,此类便可实现序列化,如下:需要注意的是:在序列化和反序列化时,Point中的x,y值会被忽略,因为Point类中并没有实现Serializable接口,即只在子类中实现Ser..原创 2021-09-22 16:46:59 · 714 阅读 · 0 评论 -
Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH
在编译OpenCV的时候,配置了JAVA_HOME环境变量,但JNI还是不生效,原因未知,但有规避的方法:直接在CMake文件里面把JNI相关的变量全部配置上。变量参考:FindJNI — CMake 3.1.3 Documentation原创 2021-09-13 15:15:33 · 3530 阅读 · 2 评论 -
JDK版本不对导致“缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序”
“缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序”问题有很多原因导致,配置方面原因在其它帖子可以找到,这里补充一种导致此问题的原因:在IDEA 2019.3版本下,使用JavaFX 15 + OpenJDk 15,也会报上面的错,此错误是由于IDEA 2019.3对JDK 15支持上的问题导致。因为OpenJDk 15版本是2020年发布,而IDEA 2019.3是2019年发布,产生奇怪的问题也是情有可原的。只需要把JDK版本版本为14及以下,均能够支持JavaFx 11-17版本。原创 2021-08-23 17:01:19 · 2723 阅读 · 0 评论 -
javafx TableView控件中双击自定义列的表头分隔符,列中内容消失
例:1、在表格第一列中放置checkbox2、双击分隔符3、此列中的checkbox控件消失解决方案有两种:1、重写该列的setCellFactory方法,在刷新表格时,再生成checkbox2、设置此列resizable为false;如果列的resize策略为CONSTRAINED_RESIZE_POLICY,则可在表格加载完后,再设置resizable为false。如下:PlatForm.runLater(()->clomun->setResize(f..原创 2021-08-23 15:18:12 · 304 阅读 · 0 评论 -
跨平台时自解压jni文件并加载
通过java的jar包实现依赖操作系统平台的功能时需要运用jni,依赖各平台生成的库,如dll,so等。在生成jar时一同打包这些库,其它项目直接引用此jar即可,而不需要把dll,so等库放到项目的某个目录或jdk目录。此方法需要jar有自解压功能,自解压实现如下:public final class DongleNativeLibrary { public static final String DONGLE_LIB_PREFIX = "dongle_native_libraries-.原创 2021-05-06 15:54:21 · 133 阅读 · 0 评论 -
jpackage打包java项目为exe及安装包(模块化javafx版)
1、构建基于模块的javafx项目,并由maven管理。添加maven插件javafx-maven-plugin,并使用命令mvn javafx:jlink生成runtime。2、基于步骤1中的runtime,使用jpackage生成exe启动器,命令示例:./jpackage.exe --type app-image -n TM -m vision/tm.vision.ui.ApplicationEntry --runtime-image F:\code\TM_Vision\target\tm原创 2021-01-25 13:34:00 · 3622 阅读 · 1 评论 -
Java OpenJDK使用jlink生成创建JRE Runtime
1.进入JDK的bin目录,查看依赖的模块jdeps --list-depsxx.jar注意,有的模块可能显示不全,在后面运行的时候会报错。如果制作出的jre缺少模块,重新使用步骤2构造即可。2.生成JREjlink --no-header-files --no-man-pages --add-modules java.desktop,java.base,java.scripting,jdk.unsupported,java.sql --output f:/my3.运行程序f:.原创 2020-12-24 19:05:44 · 868 阅读 · 1 评论 -
netbeans下将所有jar包打成一个,俗称fat jar
netbeans的Java项目中,默认会将配置好的外部引用jar包,拷贝到dist目录的lib目录中去。如果需要发布出去,就需要将dist目录生成的jar和lib目录都拷贝出去发布,不方便。有很多办法可以将所有需要的jar合成一个,俗称fat jar。较简单的办法是修改 build.xml文件注意默认的build.xml里面有一些注释,其中有一行: -po转载 2016-10-08 17:18:53 · 956 阅读 · 0 评论 -
netbeans常用快捷键
一、NetBeans的(默认)快捷键 1、完成代码:ctrl+\ //任何地方按下此组合键,均会提示相应的参考字段; 2、错误提示:alt + enter //顾名思义,当系统报错时,按下此组合可以查看系统提示; 3、自动完成字符串: ctrl+L ctrl+k //后者(Ctrl+L没用过)组合键自动打出字符串,每按一次打出一个新串,串序自下向上; 4、右键:修复转载 2015-04-12 19:03:34 · 1702 阅读 · 1 评论 -
eclipse是安装常用插件的地址
svn :http://subclipse.tigris.org/update_1.6.x 选择subeclipsejd http://java.decompiler.free.fr/jd-eclipse/updateEclipse插件大全 挑选最牛的TOP30(1) http://developer.51cto.com/art/201007/214478.htm原创 2012-06-21 13:08:29 · 488 阅读 · 0 评论 -
中文乱码问题的解决
在遇到中文乱码的时候,自己又不知道应该用什么编码,可以用下面的方法来找出来。System.out.println(new String(title.getBytes("ISO-8859-1"),"gb2312"));System.out.println(new String(title.getBytes("UTF8"),"gb2312"));System.out.println(new原创 2013-05-20 19:52:58 · 2580 阅读 · 0 评论 -
使用srvany.exe把程序安装成windows服务的方法
使用srvany.exe把程序安装成windows服务的方法博客分类:Windows操作系统 srvany.exe是什么? srvany.exe是Microsoft Windows Resource Kits工具集的一个实用的小工具,用于将任何EXE程序作为Windows服务运行。也就是说srvany只是其注册程序的服务外壳,这个特性对于我们来说非转载 2012-12-10 15:46:09 · 620 阅读 · 0 评论 -
eclipse JRebel 热部署
点击任何一个项目,右键,点击Run as的Run configration,在弹出页面的argument 标签页中的VM arguments 加入下列命令-noverify -javaagent:E:\applicationsoft\java\server\apache-tomcat-6.0.33\jrebel.jar //jrebel.jar 为放在此目录原创 2012-05-04 12:17:34 · 1628 阅读 · 0 评论 -
用反射执行内部类的方法
public class File1 { int a; public void show(){ System.out.println("kkk"); }}public static class kk{ static File1 fe(){ System.out.println("kk原创 2012-05-27 19:56:48 · 3772 阅读 · 0 评论 -
Ubuntu 安装Jdk
第一步 下载下载java7的开发包,下载地址如下(可直接粘贴到下载工具中):http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz第二步 解压sudo tar -zxvf ./jdk-7-linux-i586.tar.gz -C /home/wfl/programs //将文件解压到/ho转载 2012-05-11 10:43:06 · 607 阅读 · 0 评论 -
有hibernate的实体类转化成JSON过滤无关类型
在用JSONObject.fromObject的时候,如果JavaBean中有Set等类型时,会报错hibernate的lazy的错,所以需要过虑掉那些无关的类型。直接贴代码:public class MagazineModel { private int id; private String name; private int score; priva原创 2012-07-15 15:44:32 · 3969 阅读 · 2 评论 -
各种链接
一个不错的UI插件链接:http://wijmo.com/ 关于linux的几本书 :http://www.oschina.net/news/27864/10-free-linux-ebook?from=20120416js拖放效果:http://www.oschina.net/news/27717/jquery-drag-drop-plugins?from=20120416原创 2012-04-17 15:22:14 · 635 阅读 · 0 评论 -
JavaWeb 中MVC 思想总结
在servlet中,jsp页面是表现层,把结果呈现给用户。请求来时,与servlet 交互,servlet作为控制器。servlet再与javaBean交互,其中javaBean作为model层。 优点,三个层次之间少耦合协作,提高可扩展性,可维护性。 特点:一个模型对应多个视图,减少代码的复制,易于维护。 模型返回的数据与显示逻辑分离,可以用多种显原创 2012-07-24 21:52:50 · 907 阅读 · 0 评论 -
引用 JAVA中浅复制与深复制
1.浅复制与深复制概念⑴浅复制(浅克隆)被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。换言之,浅复制仅仅复制所考虑的对象,而不复制它所引用的对象。⑵深复制(深克隆)被复制对象的所有变量都含有与原来的对象相同的值,除去那些引用其他对象的变量。那些引用其他对象的变量将指向被复制过的新对象,而不再是原有的那些被引用的对象。换言之,深复制把要复转载 2012-08-23 15:06:13 · 1948 阅读 · 0 评论 -
cglib 学习心得
直接入题(本例子需要asm.jar asm_commons.jar asm-util.jar cglib-nodep.jar.)链接:http://download.csdn.net/detail/eifjgoergfgrgr/4541325假如我有一个操作类如下: public class Operate { public void say()原创 2012-09-01 15:09:44 · 599 阅读 · 0 评论 -
servlet中requestdispatcher和redirect的区别
servlet中requestdispatcher和redirect的区别 当向servlet的目标组件传递的时候,可以用题目上的两个函数来实现 eg. requestDispatcher("目标组件").forward(req, resp); redirect("目标组件“);原创 2012-03-28 22:49:08 · 3476 阅读 · 0 评论