分类目录归档:JAVA

关于java的那些事儿

HTML排版中文英文标点不对齐

经常做网页的时候,客户发来意见,一个字在单独一行,中文后面结尾不对齐诸如此类的细节性问题。 所有工程师都讨厌优化此类细节,首先没什么技术含量,其实这排版的活,真把自己搞得像个工人,农民了。 不过,魔鬼都在细节里,下次你可以做的更细,收取客户更多的费用。或许没收到费用,你会得到赞赏,得到更多的生意或者薪水。 就是使用一些空格实现个数不等的中文对齐或等宽。 字符以及HTML实体 描述以及说明 1.&nbsp; 这是我们使用最多的空格,也就是按下space键产生的空格。在HTML中,如果你用空格键产生此空格,空格是不会累加的(只算1个)。要使用html实体表示才可累加。为了便于记忆,我总是把这个空格成为“牛逼(nb)空格(sp – space)”,虽然实际上并不牛逼。该空格占据宽度受字体影响明显而强烈。在inline-block布局中会搞些小破坏,在两端对齐布局中又是不可少的元素。是个让人又爱又恨的小东东。 2.&ensp; 该空格学名不详。为了便于记忆,我们不妨就叫它“恶念(e n-ian)空格”。此空格传承空格家族一贯的特性:透明滴!此空格有个相当稳健的特性,就是其占据的宽度正好是1/2个中文宽度,而且基本上不受字体影响。 3.&emsp; 该空格学名不详。为了便于记忆,我们不妨就叫它”恶魔(e m-o)空格”。此空格也传承空格家族一贯的特性:透明滴!此空格也有个相当稳健的特性,就是其占据的宽度正好是1个中文宽度,而且基本上不受字体影响。 4.&thinsp; 该空格学名不详。我们不妨称之为“瘦弱空格”,就是该空格长得比较瘦弱,身体单薄,占据的宽度比较小。我目前是没用过这个东西,这里亮出来是让其过一下群众演员的瘾。 其中的 &ensp; 和 &emsp;, 由于具有某一超赞的特性,使其可以登上web届的舞台!什么特性呢?如上表加粗展示,1. 透明; 2. 宽度正好跟中文 正好是1:2和1:1的关系,于是,一些中文排版对齐什么的,直接就可以使用这两个空格调节,如: <ul> <li class="li">姓&emsp;&emsp;名:<input type="text" /></li> <li class="li">手&ensp;机&ensp;号:<input type="text" /></li> <li class="li">电子邮箱:<input type="text" /></li></ul> … 继续阅读

发表在 JAVA | 留下评论

MAC系统查看自己的java位置

打开命令行工具 which java /usr/bin/java ls -l /usr/bin/java lrwxr-xr-x 1 root wheel 74 12 3 2015 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java ls -l /System/Library/Frameworks/JavaVM.framework/Versions drwxr-xr-x 8 root wheel 272 12 3 2015 A lrwxr-xr-x 1 root wheel 1 12 3 2015 Current -> … 继续阅读

发表在 JAVA, MAC | 标签为 , , | 留下评论

php-java-bridge php调用java的方法

此方法不需要重启apache,不需要修改php.ini文件 php-java-bridge 项目地址 http://php-java-bridge.sourceforge.net/pjb/download.php 下载 php-java-bridge.jar java.inc 双击php-java-bridge.jar 浏览器输入 http://localhost:8080/ 能看到下载目录的东西(因为我直接在我的下载目录双击了这个jar) 估计放在哪里双击,就会显示这个目录的所有文件。 网页底部显示这些信息 写一个php http://localhost/javaer/java.php 把下载的java.inc 放在javaer目录下 java.php 内容 <?php //define("JAVA_DEBUG", true); //调试设置 //define("JAVA_HOSTS", "127.0.0.1:8080"); //设置javabridge监听端口,如果开启javabridge.jar设置的端口不是8080,可通过此语句更改 require_once("Java.inc"); //php调用java的接口,路径问题需要注意 $here=realpath(dirname($_SERVER["SCRIPT_FILENAME"])); //java_set_library_path($here.PATH_SEPARATOR .’.'); //java_set_library_path($here.PATH_SEPARATOR .’.'); //设置java开发包(class或jar文件)路径,多个路径就用PATH_SEPARATOR分隔,保证跨平的支持。 //java_set_file_encoding("GBK"); //设置JAVA编码。没试过其它的编码,也没深入研究如何能用其它的编码。   echo ‘<meta charset="UTF-8">’; … 继续阅读

发表在 JAVA, PHP | 标签为 , , | 留下评论

Linux 安装php 的 ssh2扩展

在PHP中安装SSH2扩展库,用PHP通过SSH操作远程服务器,在远程服务器上执行命令。 这里基于linux(centos)发行版,其他发行版同理。 首先要确保系统已经安装好了LNMP或者LAMP环境。Nigix下使用的是php-fpm驱动的。 whereis php.ini 就可以快速找到自己的php配置文件 1、确认你的linux有安装mcrypt库,如果没有安装执行以下步骤 [root@test-206 ~]# yum list installed|grep mcrypt libmcrypt.x86_64 2.5.8-4.el5.centos installed libmcrypt-devel.x86_64 2.5.8-4.el5.centos installed mcrypt.x86_64 2.6.8-1.el5 installed yum install libmcrypt libmcrypt-devel mcrypt 2、编译安装libssh2 wget http://www.libssh2.org/download/libssh2-1.6.0.tar.gz tar zxvf libssh2-1.2.9.tar.gz cd libssh2-1.2.9 ./configure&&make&&make install 3、编译安装ssh2(官网http://www.php.net/ssh2) 各种版本 http://pecl.php.net/package/ssh2 … 继续阅读

发表在 JAVA | 留下评论

java批量给pdf加水印

找了一圈pdf在mac下的水印工具,都不太好用。java写一个吧 以下代码依赖itext5.3.3包, 从我的网盘下载 java操作pdf 依靠itext5.3.3 //读取原来的pdf PdfReader reader = new PdfReader("/test/" + "1.pdf"); //生成以后的pdf PdfStamper stamp = new PdfStamper(reader, new FileOutputStream("/test/" + "createSamplePDF2.pdf")); int max = reader.getNumberOfPages(); //max =2; // 文字水印 for (int i = 1; i <= max; i++) … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

java POST 数据给第三方URL

我曾经给服务器同步数据 1.采用过FTP传送一个txt文本,然后用php 拆解。 2.用过直接链接数据库 这个方案的好坏取决于1.数据库是否能对外直接链接(安全也是个问题) 2.数据库的链接效率。外面链接,总是不如本地链接速度快。 3.今天说说第三个办法,JAVA POST数据给服务器 //发送 POST 请求 String sr=HttpRequest.sendPost( "http://localhost:6144/Home/RequestPostString", "key=123&v=456"); /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static … 继续阅读

发表在 JAVA | 标签为 , , | 留下评论

对一个未知类型的数据,进行java判断

常见的情况是,我们从mysql读出了数据,批量灌入到HASHMAP里,于是这个HashMap里,有int类型,有string,有boolean,有long 下面的函数,直接判断出数据的类型,方便我们做转义的操作。之前写过一个instanceof 的专门用法。 public static <T> String getType(T t){ if(t instanceof String){ return "string"; }else if(t instanceof Integer){ return "int"; }else if(t instanceof Boolean){ return "boolean"; }else{ return " do not know"; } } 一般这么用。 Iterator iter = h.entrySet().iterator(); while … 继续阅读

发表在 JAVA | 标签为 , , , | 一条评论

redis使用场景

不要放冷数据 首先,对于冷数据,无论大小,都不建议放在 Redis 中。Redis 数据要全部放在内存中,资源宝贵,把冷数据放在其中实在是一种浪费,冷数据放在普通的存储比如关系数据库中就好了。 冷数据的例子 1.网站的文章 2.几万年不变的数据 放热数据 尤其是写频繁的热数据,如果量比较小,是最适合放到 Redis 中的。 热数据的例子 1.用户注册数 2.文章阅读量 3.热度排行榜 4.用户订阅量 一个游戏,用户分数存储结构     ZADD leaderboard <score> <username> 例子:一个在线游戏你会需要 1.前100名高手榜 ZREVRANGE leaderboard 0 99 2.某一个用户在游戏的实时排名 ZRANK leaderboard <username> 3.强大的计数功能 这要感谢INCRBY和其他相似命令。 INCR user: EXPIRE     user: … 继续阅读

发表在 JAVA, 数据库 | 标签为 , | 留下评论

redis可视化数据查看工具

Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库。不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起来并不方便。不过Github上面已经有了很多图形化的管理工具,而且都针对REDIS做了一些优化,如自动折叠带schema的key等。 Redis Desktop Manager 一款基于Qt5的跨平台Redis桌面管理软件 几款开源的图形化Redis客户端管理软件推荐 支持: Windows 7+, Mac OS X 10.10+, Ubuntu 14+ 特点: C++ 编写,响应迅速,性能好。但不支持数据库备份与恢复。 项目地址: https://github.com/uglide/RedisDesktopManager 软件安装包下载地址 https://redisdesktop.com/download Redis Client 几款开源的图形化Redis客户端管理软件推荐 项目简介: 使用Java编写,功能丰富,缺点是性能稍差,网络不好时,会不时断线。 项目地址: https://github.com/caoxinyu/RedisClient Redis Studio 几款开源的图形化Redis客户端管理软件推荐 项目简介: 又一个C++编写的redis管理工具,仅支持windows平台,支持xp操作系统。 项目地址: https://github.com/cinience/RedisStudio ps: 后面两款为国人开发。

发表在 JAVA | 标签为 , | 留下评论

mac 下安装redis

本来以为mac下安装redis要折腾一会,完全出乎意外。和linux下基本一样 curl -O http://download.redis.io/releases/redis-3.2.4.tar.gz tar xzf redis-3.2.4.tar.gz $ cd redis-3.2.4 $ make test $ make install 搞定 启动redis $ src/redis-server 客户端 mac启动另外一个控制台 $ src/redis-cli redis> set foo bar OK redis> get foo "bar" 有点惊喜。上几天mac下安装PHP的图形处理,折腾了 好几天 redis的密码配置

发表在 JAVA, 数据库 | 标签为 , | 留下评论