发表于: 2017-09-19 23:06:15

2 752


今天完成的事情:

1.对本地项目进行打包然后添加到远程服务器上运行

首次用“java -jar”命令执行报错,百度出的答案。出错原因是没有指定主类,只是执行了项目的jar包。

然后用“java -cp”命令执行helloworld程序,成功输出。

2.jar和压缩包的区别

    JAR 文件格式以流行的 ZIP 文件格式为基础。JAR 格式允许您压缩文件以提高存储效率。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

3.jar包和war包的区别

    war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.

    war包:是做好一个web应用后,通常是网站,打成包部署到容器中。

    jar包:通常是开发时要引用通用类,打成包便于存放管理。

4.听老大讲金融项目与其技术架构

(1)利息计算方式:先息后本,等额本息,先本后息,等额本金

(2)投资-----还款-----提现

(3)开户(实名认证)

(4)资金流水,对账系统

(5)众筹等的第一笔的利息计算和最后一笔的超买情况

(6)资金池,债权池

5.有关jar的几个命令

(1)jar打包命令

jar -cvf xx.jar *.*

说明一下:*.*表示把当前目录下面以及子目录的所有class都打到这个xx.jar里。

-cvf的含义,可以自己去用jar命令去查看

如果要单独对某个或某些class文件进行打包,可以这样:

jar -cvf xx.jar Foo.class Bar.class 

(2)运行jar

java -jar xx.jar

要运行一个jar,则此jar内部的META-INF\MANIFEST.MF文件里必须指明要执行的main方法类

具体格式如:

Manifest-Version: 1.0

Created-By: 1.6.0_03 (Sun Microsystems Inc.)

Main-class: Test 

如果此处的Test.class在com.xx包下面,则需要指明。

如果在运行时报了invalid or corrupt jarfile错误,则需要检查Main-class: Test 之间是不是缺少了空格

(3)指定运行jar里面的class

java -cp xx.jar com.xx.Test

(4)编译某个java文件,但是依赖某个jar

javac -cp xx.jar Test.java

 (Test.java里面import了xx.jar里面的某个class)

(5)运行某个java文件,但是依赖某个jar

java -cp .;xx.jar Test

注意:引用xx.jar的时候,不要漏掉.;(这个表示当前目录)

6.连接池

       数据库连接池的思想实现,即就是将数据库作为对象储存在一个vector对象中,一旦数据库连接建立后,不同的数据访问请求就可以共享这些连接,这样,通过复用这些已经建立的数据库连接,可以克服上述缺点,极大的节省系统资源和时间。

       在实际开发中,特别是web应用系统中,如果JSP.Servlet或者EJB使用JDBC直接访问数据库的数据,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件消耗资源又浪费时间的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至导致系统崩溃,而数据库连接池技术是解决这个问题最常见的方法。

明天计划的事情:

在远程服务器上运行数据库操作的处理,并且改变其数据量,观察其程序运行时的不同。

遇到的问题:

        如果说在mybatis中添加连接池的话,由于mybatis对JDBC进行了封装,所以除了实体类和接口类可以看到,其余的程序都在配置文件中,远程服务器对jar包运行时会报找不到主类的错。如果既要解决又要保证程序修改方便,是不是需要把增删改查数据库的这些代码封装,然后建一个主方法进行对数据库的操作呢!或者说直接用JDBC连接数据库,在添上连接池对数据库进行一些数据处理。

收获:

1.可以在远程服务器上运行有main方法的程序

2.了解了下金融业务和技术架构的实现过程

3.在处理大量数据的时候,若程序需要多次访问数据库,添加连接池时非常有必要的。


返回列表 返回列表
评论

    分享到