< -->

Java String类源码解析(一)

JAVA String类源码解析(一)

PASS.1 不可改变的String ?

众所周知java中的String对象时不可改变的, 实际中我们经常做类似于String a = “abc” + new String(b) ; 的操作, 实际上都是创建了一个全新的String对象, 这个新的对象包含了修改后的字符串内容。 下面来看看String构造函数.

public final class String 
        implements java.io.Serializable, Comparable<String>, CharSequence {
            private final char value[];
         private int hash; // Default to 0
    }

Linux下编译安装OpenCV, 并使用java开发


现在要搞的一个事是在linux把eclipes下java开发openCV搞定。

linux编译安装OpenCV

很简单参见官方文档:点这里

Part1.下载OpenCV, 我用的是最新的openCV3.0

Part2 安装cmake:

sudo apt-get install cmake

Part3 安装cmake图形画界面

sudo apt-get install cmake-qt-gui

Part4 编译安装openCV

  • 首先建个文件夹,一般叫build吧。然后终端运行cmake-gui打开图形界面。
  • Browse Source找你的openCV解压目录, Browse Build找你刚才建的文件夹的目录, 然后点Configure,完事点Generate。
  • 完成之后,进入build目录, 运行make, 完成后openCV就安装成功。

Part5 安装openCV-java

这里也有个官方文档:点这里

具体安装教程参见这里:这里

Part6 如何判断是否安装成功

以上操作结束后,build目录下的bin目录中会有一个openCV-300.jar的包,这样你就成功了。我因为用图形话工具cmake的,发现万事之后直接就有了这个包,因此省略了第5步

Part7 配置Eclipse

参见这篇文章: 点这里

bootStrap插件 DataTables与X-Editable的综合


前言

我们在设计表格(table)的时候,往往需要给表格添加增、删、改、查的基本功能。利用bootstrap的各种相关插件可以轻松的在前台完成这些任务,而且又漂亮又简洁,后台只需通过ajax请求进行数据的交互就行。

准备工作

### 1.引用的插件: DataTables: 下载点这里:)
X-Editable: 下载点这里:)

需要引入的样式
dataTables.bootstrap.css //DataTable的样式
bootstrap-editable.css   //X-Editable的样式
bootstrap.min.css        //bootStrap3的样式
需要引入的JS:
jquery-1.11.0.min.js        //bootStrap必须用它,你懂得
bootstrap.min.js            //bootStrap3的js
dataTables.bootstrap.js     //dataTables的js
bootstrap-editable.js       //x-editable的js
额外我引用了一个自己的主题components.css layout.css

开始

1.画一个表格:

<table class="table table-striped table-hover table-bordered" id="table_1">
	<thead>
		<tr>
			<th>栏目1</th>
		    <th>栏目2</th>
			<th>栏目3</th>
			<th>栏目4</th>
		</tr>
	</thead>
	//tbody里将来会生成动态相应的单元格
	<tbody></tbody>
</table>

2.编写js主要的是如何将x-editable嵌套进dataTable中,为此我们要使用fnDrawCallback回调函数 这样我们就实现了改的功能

$('table_1').dataTable({
    "lengthMenu": [
        [5, 15, 25, -1], //选择每页的条目数
        [5, 15, 25, "ALL"]
        ],
    "fnDrawCallback": function(){
        $.fn.editable.defaults.mode='popup';//设置默认模式
        //这里有个技巧,如何选中表中某一列
        $(this).find('td').each(function(i){
        if( i % num == 1)
            $(this).editable({
                type: 'text'//这里就可以设置各种属性了
                title: ''
                ....
            }).css("cursor", "pointer");
        });
            
        });
    }
});

3.接下来就是删和增的操作了

JavaScript学习日志(一)

Part1.第一遍学习遇到的函数什么的。。

**prompt** : get a input    eg. prompt("What is Ubuntu? ");
**console.log**: like print     eg. console(something);
**substring(x, y)**: print part string    eg."Hello".substring(0, 3); 
**Math.random()**: make a random number between 0 and 1
**Math.floor()**: return no more than the Integer 
**iSNaN**: check is a number or not,  yes is false, no is true

Part2.JQuery的东东

Java学习日志之Servlet

Java学习日志之Servlet

Part1.什么是Servlet?

  • 顾名思义Servlet就是服务器小程序,这个服务器可以是HTTP服务,也可以是邮件服务,也可以是FTP服务等等
  • java Web 应用中的请求-相应都是交给Servlet来完成
  • 原理图如下:

Part2.Servelt相关接口

**HttpServlet**类已经实现了Servlet接口所有方法,写Servlet时只需要继承这个类就行。
  • doGetdoPost:
  • 这俩对应的就是HTTP报文中的GET与POST方法,也是最常用的两个。
  • Get通常用于请求服务器发送某个资源。
  • Post通常用来向服务器输入数据,通常用来支持HTML表单。
    其他HTTP方法工作原理可参见“HTTP权威指南”
    对应的包与类:
javax.servlet.http.HttpServlet   
    Class HttpServlet
  • requestresponse
1. 客户端发出的请求被封装成一个叫HTTPServletRequest类的对象request对象包含了基本的请求信息
    2. request常用方法见api文档接口HTTPServletRequest中.
3.服务器的响应封装到了HttpServletResponse类的对象,想对客户端下手就用response的方法~~
4.response常用方法:见api文档接口HttpServeltResponse.
  • 关于Web.xml的相关
    1. 标签用于配置,部署servlet
<servlet-name>Servlet name </servlet-name>//随意取名,但必须唯一
        <servlet-class>package.servletclass </servlet-class>//servlet类名
        <servlet-mapping>//设置访问方式
            <servlet-name>Servlet name</servlet-name>//与上面的对应
            <url-pattern>/XXX/FirstServlet </url-pattern>//访问路径
            <url-pattern>/XXX/FirstServlet.asp</url-pattern>//这里可以映射多个路径,以掩饰用啥玩意开发的
        </servlet-mapping>
        以上两个必须有部署servlet所用
        <init-param>//初始化参数
            <param-name>message </param-name>//参数名称
            <param-value>value </param-value>//参数值
        </init-param>

未完。。。。