java
仔仔尔
这个作者很懒,什么都没留下…
展开
-
Java到底是编译还是解释型语言?编译和解释型语言有什么区别?
7.java语言执行过程与方式:编译型语言:是指使用专门的编译器、针对特定平台(操作系统)将某种高级语言源程序一次性“翻译”成可被该平台硬件运行的机器码(包括指令和数据),并包装成该平台的操作系统所能识别和运行的格式。这一过程称为“编译”。最后生成的程序(可执行文件)可以脱离开发环境在特定平台上独立执行。比如c,优点快,缺点, 移植性差。解释型语言:是指使用专门的解释器将某种高级语言源程...转载 2020-03-07 17:20:10 · 545 阅读 · 0 评论 -
java当中JDBC当中请给出一个sql server的dataSource的helloworld例子
4. sql server的dataSource的helloworld:import java.sql.*;import javax.sql.*;import net.sourceforge.jtds.jdbcx.*;public class SimpleDataSource{public static void main(String[] args){try{JtdsDataSo...转载 2019-09-11 17:31:11 · 187 阅读 · 0 评论 -
java当中JDBC当中请给出一个Oracle DataSource and SingleTon例子
6.Oracle DataSource and SingleTon: import oracle.jdbc.pool.OracleDataSource;import java.sql.Connection;import java.sql.*;public class OracleSingletonDataSource { static private OracleDataSource...转载 2019-09-09 10:39:11 · 394 阅读 · 0 评论 -
java中递归的用法和例子
递归 直接或者间接调用自己,public class Test{ public static void main(String[] args){ int i = 5; System.out.println("5!=" + fac(5)); } static long fac(long n){ /*fac(5)=5*4...转载 2019-09-23 15:33:18 · 410 阅读 · 0 评论 -
java中如何从主线程传参数到子线程
下面这个例子和上面一样,除了说是子线程要join主线程。本例中还教会了大家,如何从主线程传参数到子线程。例:1.5.3_2class ThreadMark_to_win extends Thread { Thread mainT; Test t; public void run() { try { mainT.join();...转载 2019-09-23 17:42:51 · 2310 阅读 · 0 评论 -
Hashtable的用法
3.3 Hashtable的用法假如我们想把张三20岁,李四30岁这样的信息存入一个容器, 将来一查张三多少岁, 立刻能出来, 就用到Hashtable,张三---->20,就是一个键值对。例:3.3.1import java.io.*;import java.util.*;class TestMark_to_win { public static void m...转载 2019-09-28 10:12:57 · 568 阅读 · 0 评论 -
java中Array(数组)的用法
8.Array(数组)数组是作为对象来实现的。(really occupy the memopry,真实的占用内存 )An array is a data structure that stores a collection of value of the same type.(数组是一个数据结构,它存储一堆类型相同的值)/*下面这句话只是宣称了一个参考类型的变量,而并没有真正初...转载 2019-09-28 11:13:29 · 1682 阅读 · 0 评论 -
java中switch结构和 while for循环的用法
6.2 switch结构: 变量可以是:variable can be:(mark: tried, can not be long)char/int/short/byte(java1.7 就可以用String来switch了) public class Test{ public static void main(String[] args){ double d1=0...转载 2019-09-29 10:58:46 · 671 阅读 · 0 评论 -
java中操作符的用法
5.操作符 public class Test{ public static void main(String[] args){ int i, k; i = 10;/*下面一句话的意义是:假如i小于零,k就等于-i,否则k就等于i*/ k = i < 0 ? -i : i; // get absolute value of i System.ou...转载 2019-09-29 15:10:17 · 175 阅读 · 0 评论 -
java中Number Type Casting(数字类型强转)的用法
4.5Number Type Casting(数字类型强转)隐式 casting(from small to big)byte a = 111;int b = a;显式 casting(from big to small)int a = 1010;byte b = (byte)a;注意: 从大到小必须强转!一道著名的公司面试题如下,以下程序有何问题?public class ...转载 2019-09-29 18:28:43 · 483 阅读 · 0 评论 -
java中final变量的用法
4.4 final变量 final变量的数值不能在初始化之后进行改变(你希望a=3,有很多用到a的场合, 你当然不能在程序中就用3来代替a)。比如:final int h = 0;想像有一个项目组主程序,定义了一个变量,PI=3.1415,他带两 个初级程序员编程,这两个初级程序员通过继承类的方法来节省劳动,张三,想把PI改成3.1,李四想把PI改成3.142,这些都会报编译错...转载 2019-09-29 18:34:33 · 173 阅读 · 0 评论 -
给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体
给大家补充一个结构体的例子:下面TwoNumber就是一个形式上的结构体:class TwoNumber { int num1; int num2;}public class Test { public static void main(String[] args) { int a=0; TwoNumber A = new TwoNum...转载 2019-10-02 15:42:42 · 254 阅读 · 0 评论 -
java中Synchronized引起的并发线程的无限等待的解决方法
Synchronized引起的并发线程的无限等待的解决方法我们在数据库并发访问中经常用到:select * from table for update,这句话会引起所有执行这句话的线程排队,一个一个的序列执行。等待的线程只能死等,直到超时为止。下面程序的f1就模仿这句话的感觉。例1.9.6:class A { public synchronized void f1() {...转载 2019-09-23 10:33:32 · 1062 阅读 · 0 评论 -
java中ReentrantLock彻底解决并发线程的无限等待
ReentrantLock彻底解决并发线程的无限等待马 克-to-win:上面的例子,只能做到根据请求Synchronized方法的队列里的线程的数量,决定我是否进入队列等待。但是一旦决定了等待,进入 了等待队列以后,就无法退出队列。想达到这个效果,必须要用到ReentrantLock的技术。ReentrantLock翻译成中文就是可重入锁。下面这段话比较难,新手可忽略。和可重入锁相对的就是不...转载 2019-09-23 09:17:52 · 690 阅读 · 0 评论 -
java中ReentrantLock类的tryLock和tryLock的例子和用法
ReentrantLock类的tryLock和tryLock(时间)tryLock的方法就是试一下,如果能得到锁,就返回真,如果当时得不到,马上就返回假,绝不等。tryLock(时间)的用法就是 在规定的时间内设法得到锁。如果在规定的时间内最终不能得到锁,就返回假。注意,这个方法是可以被打断的,打断后的处理方法和上面的例子 lockInterruptibly的处理一样。例1.9.8_a:...转载 2019-09-22 16:24:22 · 2089 阅读 · 0 评论 -
java当中JDBC当中的transaction例子
7.jdbc的transaction例子:import java.sql.*;public class MySQlTransaction1 { public static void main(String[] args) throws SQLException {/*in my sql: create table Accounts( ID int(4) ...转载 2019-09-09 09:54:38 · 375 阅读 · 0 评论 -
java当中JDBC当中请给出一个SQLServer DataSource and SingleTon例子
5.SQLServer DataSource and SingleTon:import net.sourceforge.jtds.jdbcx.*;import java.sql.*;import javax.sql.*;public class SqlserverSingletonDataSource {static private JtdsDataSource ds;priva...转载 2019-09-09 11:15:33 · 508 阅读 · 0 评论 -
java中JDBC当中PreparedStatement和Statement的效率比较
2.PreparedStatement和Statement的效率比较前面介绍的Statement接口提供了执行sql语句和获取结果的基本方法。注 意对于有种情况,即,需要反复执行相同的sql语句时,Sun公司就为我们提供了另外一种对象:PreparedStatement。它翻译过来就是: “准备好的Statement”。用它的好处就是:当数据库见到PreparedStatement的sql语句时...转载 2019-09-14 17:36:27 · 993 阅读 · 0 评论 -
java中Comparable的例子和用法
3.5 Comparable的用法马克-to-win:前面讲过进入TreeSet的每个元素是都排了序的,如果被添加的元素是我们自己定义的,就需要告诉TreeSet排序的规则,这个规则就要在Comparable中定义。在下面的例子中, 当我们要往TreeSet中添加我们自己定义的类Worker对象时,就在compareTo中定义排序规则。例:3.5.1 /*why in the pa...转载 2019-09-14 18:02:35 · 729 阅读 · 0 评论 -
JDBC的工作原理和工作步骤
JDBC的工作原理:马克-to-win:JDBC主要完成三件事:1)建立连接;2)发送SQL语句;3)处理返回的结果。紧接着,下节以实例仔细分析这三条。第二节 JDBC HelloWorld例子1.细述JDBC的工作原理紧接着上节的JDBC的工作原理,下面我们就仔细讲讲这三条。1)建立连接:马克-to-win:JDBC靠java.sql.DriverManager.getConn...转载 2019-09-15 14:54:42 · 1026 阅读 · 0 评论 -
java中请给出一个JDBC的HelloWorld例子
在做以下的实验之前。我们的前提条件是:必须先安装一个mysql数据库在电脑中,(因为这个数据库在所有的数据库当中,相对来讲是最简单的。适合初学者 使用和学习,而且这个数据库,现在在很多中小型公司,都还在使用。)而且数据库当中,要有一个表叫login。其中有两个字段,一个叫id,一个叫 name。两个字段都是string类型的。例:2.1.1public class TestMark_to_w...转载 2019-09-15 18:00:19 · 126 阅读 · 0 评论 -
java中什么叫原子操作?再给出个例子?
什么叫原子操作?就 是无法被别的线程打断的操作。要么不执行,要么就执行成功。例如:x=3是原子操作。过程就是先把工作内存的x赋成3,再把主存的x赋成3。y=x不是原 子操作,它涉及在工作内存先把x值读出来,再把这个值赋给y。x++或x=x+1也不是原子操作,它涉及取值,自加和赋值。下面我们就用一个例子来说明x ++不是原子操作所带来的问题。class NumContainer {...转载 2019-09-21 09:08:46 · 338 阅读 · 0 评论 -
java中PreparedStatement用法和HelloWorld例子
1.PreparedStatement的HelloWorld程序除 了Statement以外,Sun公司还提供了另外一个工具PreparedStatement,它们两个的效率比较,我们下一节再说,本节我们只讲 helloworld。PreparedStatement的用法就是:PreparedStatement中的SQL语句,可有一个或多个参数。每个参 数用一个问号(“?”)来占位。之后每个问...转载 2019-09-21 10:27:22 · 349 阅读 · 0 评论 -
java中synchronized 是不是能够代替原子操作?
synchronized 是不是能够代替原子操作?不能, 因为synchronized方法在执行的过程当中,它方法体内的变量可以被其他非synchronized方法得到。而 如果用原子操作,其他方法就看不到了。这点区别就造成了,如果有需求要求synchronized方法体内的变量不能被其他方法看到,就要用原子操作。 但是貌似这种需求比较少。更多请见:http://www.mark-to-win...转载 2019-09-21 15:34:10 · 344 阅读 · 0 评论 -
java中volatile加原子操作能取代synchronized和锁吗?
volatile加原子操作能取代synchronized和锁吗?答案是否定的。比如需求如果是,在并发环境下判断票数是否大于零,如果大于零就买票。 判断加更新总体是个原子操作。这种情况只能用锁和synchronized。volatile加原子操作解决不了问题。其实想彻底解决并发环境的问题,只 能用synchronized和锁。volatile和原子操作只能在有些特殊的情况下解决一点小问题(比如不加判...转载 2019-09-22 10:22:52 · 589 阅读 · 1 评论 -
java中volatile关键字到底是干什么的?
volatile关键字到底是干什么的?(新手可略过)我们先简要了解一下java虚拟机的内存模型。就像数据从物理内存拷贝到cpu高速缓存,进行操作完,再把数据返回到内存一样,为了屏蔽CPU高速缓存和 内存复杂细节且赢得跨平台的效果,java把所有的变量都存在主存(相当于物理内存)当中,每个线程都有自己的工作内存(相当于CPU高速缓存)。线程在 自己的工作内存做操作,不能直接对主存进行操作,最后把...转载 2019-09-22 15:31:32 · 120 阅读 · 0 评论 -
java当中JDBC当中JNDI用来查找dataSource的例子
8.JNDI用来查找dataSource的例子:import javax.naming.InitialContext;import javax.naming.Context;import com.mysql.jdbc.jdbc2.optional.MysqlConnectionPoolDataSource;import java.util.Properties;import net.s...转载 2019-09-09 09:41:03 · 326 阅读 · 0 评论