
Java
Jeruen
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
用JAVA生成老电影海报
先看图,再讲原理,生成效果对比:机器全自动生成,是不是很酷炫?:)数字图像,由无数个像素组成,通常情况下,每个像素包含有RGB三个值,算法原理其实很简单:一,遍历所有像素,将RGB的值转换为灰度值,公式为gray =(r+g+b)/3;二,同时判断这个灰度值的大小是否大于一个阈值,通常为110,大于阈值的rgb三个值都置为255,也就是白色,小于阈值的都置为0,也就是黑色。原创 2016-03-16 14:34:58 · 36718 阅读 · 1 评论 -
Windows上使用JNA调用自己编写的DLL问题
照着JNA的教程,可以调用windows系统库。但是无法调用自己编写的DLL,比如报java.lang.UnsatisfiedLinkError: Error looking up function 之类的错误,一般来讲有以下几个原因:1.C++函数没有加__declspec(dllexport) 前缀,导致JNA找不到函数。2.C++编译后函数名改变,这可以通过Dependency w原创 2017-11-02 10:50:28 · 1759 阅读 · 1 评论 -
使用RestTemplate如何上传文档
HttpHeaders headers = new HttpHeaders(); headers.add("Accept", MediaType.APPLICATION_JSON.toString()); headers.setContentType( MediaType.parseMediaType("multipart/f原创 2017-09-06 15:14:42 · 6889 阅读 · 1 评论 -
JAVA各类框架之选择
原创文章,转载请注明。 曾几何时,JAVA的世界里还没现在这么多框架。当年我学习JAVA的时候JAVA主要是被当做跨平台的类C++语言看待的。 现如今,JAVA世界里有各种各样的框架,大部分人用JAVA主要是拿来做网站后台的。尤其是SSH和ibiats框架,占据绝对主流地位。以ssh框架为例,其确实可以帮助程序员减轻工作,但这是需要在一定条件下的,并不是用了原创 2016-03-27 20:08:04 · 18627 阅读 · 0 评论 -
浅谈虚拟机的基本原理
原创文章,转载请注明。 我们谈到虚拟机,好像感觉就是另外一个带操作系统的电脑,其实虚拟机的含义不止如此。 虚拟机不是个新事物,早在几十年前的六七十年代已经出现。最古老的计算机是穿孔计算的,主要用来数学计算,比如微积分。后来高级一点就有了指令,计算机执行指令,也就有了编写复杂逻辑程序的功能。于是有人就脑洞大开,这在当时其实很了不起的想法,就是同一原创 2016-03-27 09:28:17 · 21498 阅读 · 1 评论 -
JAVA方法声明中参数的那三个小数点
原创文章,转载请注明。 我们看如下一个方法的声明。 public static void tst( Object... initargs){ System.out.println(initargs.length); System.out.println(initargs[0]); } 参数中那三个小数点代表什么意思呢原创 2016-03-26 22:00:10 · 19587 阅读 · 1 评论 -
Java注解不为人知的作用
一般提到注解,很多人会提到以下几种作用: 1、生成文档。这是最常见的,也是java 最早提供的注解。常用的有@see @param @return 等 2、跟踪代码依赖性,实现替代配置文件功能。比较常见的是spring 2.5 开始的基于注解配置。作用就是减少配置。现在的框架基本都使用了这种配置来减少配置文件的数量。以后java的程序开原创 2016-04-12 13:23:41 · 1074 阅读 · 0 评论 -
很简单的JAVA反射教程
原创文章,转载请注明。 反射可以动态加载类,实例化对象,调用方法。现在以以下例子讲解。 一,加载类。 Class clazz = Class.forName("java.lang.String"); //此句代码得到一个String类的类对象。参数填包名。 若通过URLClassLoader原创 2016-03-26 12:26:58 · 20361 阅读 · 3 评论 -
用juniversalchardet解决爬虫乱码问题
原创文章,转载请注明。 爬虫往往会遇到乱码问题。最简单的方法是根据http的响应信息来获取编码信息。但如果对方网站的响应信息不包含编码信息或编码信息错误,那么爬虫取下来的信息就很可能是乱码。 好的解决办法是直接根据页面内容来自动判断页面的编码。如Mozilla公司的firefox使用的universalchardet编码自动检测工具。 ju原创 2016-03-25 12:44:02 · 19491 阅读 · 0 评论 -
用JAVA打暴雪星际争霸(1)--搭建开发环境
注意:这篇文章要说的是用Java打正儿八经的暴雪公司出的星际争霸,不是前几年那个手机上的模仿星际争霸的小游戏。阿法狗对李世石的胜利,必然会引起新的一轮人工智能的热潮。电子游戏竞技必然是人工智能下一次待攻克的山峰。用Java代码打星际争霸,是不是听起来很科幻、很NB啊。确实可以在朋友中露一手,特别是再对接上机器学习等人工智能模块,让自己都不清楚自己编写的机器人的行为,让自己打不过机器人,原创 2016-03-14 14:31:19 · 24307 阅读 · 5 评论 -
初学者如何理解多态
多态对于程序初学者来说是一道不小的槛。与递归类似,不管是书中还是老师授课,都把其讲得神乎其神,让读者觉得一头雾水,莫名其妙。但我认为,多态实际上非常简单,学习的难点在于在接触多态之前,大脑中并没有一个直观的印象。在此,我就给大家实际示例什么是多态。 我们首先定义一个接口,package org.tny.test;public interface People { p原创 2016-04-07 08:28:23 · 29065 阅读 · 1 评论 -
用Java打暴雪星际(3)——探究示例机器人代码
原创文章,转载请注明。看过上一节的视频,想必您对机器人打星际有了一个直观的了解。接下来我将简要讲解一下游戏逻辑控制部分。游戏有主循环,这跟人类的真实世界理解起来可能有一点不同。游戏类似于动画,每一秒由一定数目的帧构成,这些帧快速地播放,我们的眼睛就会产生里面的角色在动的错觉。而游戏和动画的不同在于,在下一帧播放之前,计算机会经过一定的逻辑运算,来确定下一帧中的角色的具体位置和状态。而我原创 2016-03-24 16:55:35 · 33554 阅读 · 2 评论 -
准备开源用javascript写Tomcat下的WebApp的项目
原创文章,转载请注明。 这个想法由来已久,用javascript编写Tomcat下的WebApp。现如今也有alpha版本的实现。这样的话,前端程序员就可以像用Node.js那样,用javascript写后端程序了。 用Tomcat的好处在于,它是一个成熟的J2EE容器。配合Apache和mysql,可以作为中小企业搭建系统的理想平台。原创 2016-03-21 16:22:29 · 14959 阅读 · 1 评论 -
Akka是个什么鬼?
What is Akka?Akka是什么?Scalable real-time transaction processing 可伸缩实时事务处理We believe that writing correct concurrent, fault-tolerant and scalableapplications is too hard. Most of the time it's bec翻译 2016-03-20 10:24:33 · 14998 阅读 · 0 评论 -
用java打暴雪星际争霸(2)——运行测试机器人
原创内容,转载请注明。在上一节安装完毕后,或者您直接打开我分享的虚拟机后,我现在将讲解如何启动测试机器人。第一步,打开Eclipse,导入机器人示例项目,如图所示。第二步,我们可以看到就一个java文件,在eclipse中运行它。程序将会在等待连接游戏。第三步,运行chaoslauncher,点击运行游戏按钮,如图所示。第四步,打开游戏后,依次点击,选择一张地图,这里我原创 2016-03-18 19:24:17 · 23510 阅读 · 1 评论 -
如何快速反编译JAVA的jar包或war包
原创文章,转载请注明。 有些时候我们面对一个class文件jar包或者war包,很想知道里面有什么参数,有什么方法,但是又没有文档,又没有源代码,那怎么办呢。 没关系,我们可以反编译这些class文件或jar包或war包。我们用到下面这个工具, https://github.com/Supermax197/TTools原创 2016-03-30 14:52:21 · 34052 阅读 · 0 评论 -
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
原创文章,转载请注明。阅读本文之前,您需要对浏览器如何加载javascript有一定了解。当然,对java与javascript本身也需要了解。本文首先介绍浏览器加载并运行javascript的原理。其次将介绍如何用java与javascript互调用对象。最后介绍如何用java实现javascript的document对象与其它内置方法。浏览器从服务器得到含有javascri原创 2016-03-17 11:56:23 · 29369 阅读 · 3 评论 -
java线程wait与notify
想达到这么一个目的:一个线程是消费者,多个线程是生产者。当有多个生产者生产出东西来,消费者马上消费,否则一直wait。消费者消费的同时不影响生产者生产,生产者生产时同样也不会影响消费者消费。看代码package test;import java.util.concurrent.ConcurrentLinkedQueue;public class ThreadTest implements ...原创 2018-03-21 15:59:08 · 292 阅读 · 0 评论