更多请见:https://blog.csdn.net/qq_43650923/article/details/101207784
3.5 Comparable的用法 马克-to-win:前面讲过进入TreeSet的每个元素是都排了序的,如果被添加的元素是我们自己定义的,就需要告诉TreeSet排序的规则,这个规则就要在Comparable...中定义。...在下面的例子中, 当我们要往TreeSet中添加我们自己定义的类Worker对象时,就在compareTo中定义排序规则。...becasue Integer claas and String class both implements this Comparable. java.lang.Object java.lang.String...接口在java.lang包中定义 //定义的方法: //int compareTo(Object o); //实现该接口就可以实现按用户定义的自然顺序排列对象。
参考链接: Java中方法重载的不同方法 一....方法重载(overload) /* * 方法重载的判定:同一类中,方法名相同,参数列表不同(参数个数不同,参数列表中对应位置参数类型不同),其他方法返回值 * 和访问修饰符都随意。 ...,不管是否进行了参数顺序的改变,最后在方法记录的过程中, // 还是会记录成上面报错信息提示的那样,而这个参数列表与第一个函数的参数列表一模一样。 ...方法重写(覆盖) 方法重写也叫方法覆盖,表示子类要对父类的某一方法进行修改,方法的重写比较简单,通常遵循以下原则: 1. 两同:方法名和方法参数列表相同 2....一大: 子类中的重写方法的访问权限大于等于父类中的方法 3. 二小:子类中的重写方法抛出的异常类型要小于等于父类;子类中的重写方法的返回值类型小于等于父类
java的重载、覆盖和隐藏的区别 http://blog.csdn.net/yangquanhui1991/article/details/49679557 重载:方法名相同,但参数不同的多个同名函数...覆盖不同于静态方发的隐藏,父类中被隐藏的方法在子类中完全不可用,而父类中被覆盖的方法在子类中可以通过其他方式被引用。...所谓隐藏,是指运行时系统调用当前对象引用的编译时类型中定义的方法;对于覆盖,则指运行时系统调用当前对象引用运行时类型中定义的方法。 ...隐藏与覆盖成员变量 如果子类中的变量和父类中的变量具有相同的名字,那么子类中的变量就会隐藏父类中的变量,不管他们的类型是什么,也不管他们是类变量还是实例变量。 ...覆盖不同于静态方发的隐藏,父类中被隐藏的方法在子类中完全不可用,而父类中被覆盖的方法在子类中可以通过其他方式被引用。
参考链接: Java Break语句 break用于switch语句 1. break用于switch语句中,终止switch语句 下面先看 加上break,效果如下 我们可以看到,没有用过break...关键字时,不会在判断下一个case的值,直接向后运行,直到遇到break,或者整体switch结束 break在循环中的用法 2. break用于循环时,跳出循环 @Test public void...break; } System.out.println(i); } System.out.println("*******"); } continue的用法
1.PreparedStatement的HelloWorld程序 除 了Statement以外,Sun公司还提供了另外一个工具PreparedStatement,它们两个的效率比较,我们下一节再说,本节我们只讲...PreparedStatement的用法就是:PreparedStatement中的SQL语句,可有一个或多个参数。每个参 数用一个问号(“?”)来占位。...之后每个问号的值必须通过适当的setXXX方法来提供。...例:2.1.1 import java.io.IOException; public class TestMark_to_win { public static void main(String...[] args) throws java.sql.SQLException, ClassNotFoundException, IOException { java.sql.Connection
3.UDP(数据报)协议的通信实例 马克-to-win:在UDP编程当中,技术上没有一个服务器和客户端的概念,即没有类似于TCP中的ServerSocket类,只有主动和被动之说, 客户端和服务器都用...不过通常来讲, 先发送数据的被认为是客户端。...DatagramPacket不仅需要包含正式的数据,也要包含网络地址以及端口号,以决定它的目的地。 ...例:2.3.1(客户端写,服务器端读) 服务器端: import java.net.*; import java.io.*; import java.util.*; public class TestMark_to_win....*; import java.io.*; import java.util.*; public class Test { static final int MyPORT = 1710;
例如: 一个线程进入对象ObjA上的监视器,而另一个线程进入对象ObjB上的监视器。...如果ObjA中的线程试图调用ObjB上的任何 synchronized 方法,同时,反向的情况也发生,就将发生死锁。 死锁很少发生,但一旦发生就很难调试。...在以下例子中:a正在等待b释放,b也正在等待a释放,a怎么才能释放锁呢?...对 于下面的例子1.start()作为一个线程,获得d1的锁。为什么?因为synchronized public void run().所以run()的synchronized不能去掉。...d2.start()作为一个线程获得d2的锁。没有问题,所以打印出来两个“in ru”。
【新手可忽略不影响继续学习】下面例子中setYear中的return this;返回了一个指向对象的指针,this.setMonth(8).setDay(20);是合法的,如果像原来的例子一样什么都不返回
里面的条件顺序在查询之前会被mysql自动优化,效果跟上一句一样 (3) select * from myTest where a=3 and c=7; a用到索引,b没有用,所以c是没有用到索引效果的(...b没有使用到,所以索引达不到 c ,所以c未使用索引) (4) select * from myTest where a=3 and b>7 and c=3; —- b范围值,断点,阻塞了c的索引 a用到了...,c都没有用到索引) (7) select * from myTest where a=3 order by b; a用到了索引,b在结果排序中也用到了索引的效果,a下面任意一段的b是排好序的 (8)...没有发挥排序效果,因为中间断点了,使用 explain 可以看到 filesort (9) select * from mytable where b=3 order by a; b没有用到索引,排序中a...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
5.覆盖(Override) 马克-to-win:方法的覆盖(Override)是指子类重写从父类继承来的一个同名方法(参数、返回值也同)。...* y; } } class BBB extends AAAMark_to_win { double f(double x, double yMark_to_win) /*注意这里的返回值必须为...double,如返回int值, 我试过报错,因为sun公司不出这个语法,他没法办, 到时obj.f(4,6)不知道调用基类还是本类的方法。...; BBB obj = new BBB(); System.out.println(obj.f(4, 6)); /* 基类指针指向子类或说派生类效果就像子类指针指是一样的,...马克-to-win:因为new BBB();时,BBB的属性的内存空间也被开辟了。
参考链接: Java PrintStream类 PrintStream 其实是FilterOutputStream的一种 public class PrintStream extends FilterOutputStream...无替代版本 PrintStream public PrintStream(OutputStream out, boolean autoFlush)创建新的打印流。 ...\n') 时都会刷新输出缓冲区 除了FilterOutputStream的write,flush等方法,就是一大推的print方法 特殊的PrintStream: System。...通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标。 err public static final PrintStream err“标准”错误输出流。...通常,此流对应于显示器输出或者由主机环境或用户指定的另一个输出目标
ReentrantLock类的tryLock和tryLock(时间) 马 克-to-win:tryLock的方法就是试一下,如果能得到锁,就返回真,如果当时得不到,马上就返回假,绝不等。...tryLock(时间)的用法就是 在规定的时间内设法得到锁。如果在规定的时间内最终不能得到锁,就返回假。...注意,这个方法是可以被打断的,打断后的处理方法和上面的例子 lockInterruptibly的处理一样。...例1.9.8_a: import java.util.concurrent.TimeUnit; import java.util.concurrent.locks.ReentrantLock; class...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
7.方法(method) 被调例子, int add(int x, int y){ return x+y; } 主调例子, for example: int result = add(5,3...); 大家可以看出来和c语言是一样的。 ...7.1 Variable Scope(变量范围) 1)Class(类) scope 类中所有的方法都可以用 2)Block(块) scope 只在他声明的块中有效 or 嵌套的块儿中 3)Method...(方法) scope 只在他声明的方法中有效 下例中,i是类变量,k 是块儿变量,j是方法变量, public class Test{ static int i = 10; public
以下两个例子说明synchronized块的用法: 例1.9.4 class A { public void disp() { System.out.println("新线程马克
大家好,又见面了,我是你们的朋友全栈君。 java中工厂模式在java ee中经常碰见,是一种常见的模式,其可分为三种:静态工厂模式、工厂方法模式、抽象工厂模式。一下做一简单讲述和例子。...静态工厂模式:顾名思义就知道他是用静态方法实现的,其创建的对象具有一定的特性,譬如说是某类的派生或者某接口的实现。其比较简单。...; } } 静态工厂类:package com.factory.sta; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException...具体代码例子如下:(这里的例子和上面的例子是一起的,具狗生好多小狗,猫生好多小猫的例子,如果不具体那么是母动物都能生的) 母动物接口:package com.factory; import com.bean.Animal...例子如下: 总工厂:package com.factory; import com.bean.Milk; /** * 能产奶的 动物母亲 * 这里继承 AnimalMother 实现 生育小动物 产奶在此接口声明
11.wait()、notify()和notifyAll()方法 新手不必过认真研究,有兴趣的可研究 这三个方法仅在 synchronized 方法中才能被调用。...wait()方法告知被调用的线程退出监视器马克-to-win并进入等待状态,直到其他线程进入相同的监视器并调用 notify( ) 方法。...notifyAll() 方法通知调用 wait() 的所有线程,竞争胜利的线程将先运行。...结论:notifyall是竞争,而notify是由具体实施的jvm决定的。
在做以下的实验之前。我们的前提条件是:必须先安装一个mysql数据库在电脑中,(因为这个数据库在所有的数据库当中,相对来讲是最简单的。...两个字段都是string类型的。...例:2.1.1 public class TestMark_to_win { public static void main(String[] args) throws java.sql.SQLException..., ClassNotFoundException { java.sql.Connection connection = null; java.sql.Statement..."); connection = java.sql.DriverManager.getConnection( "jdbc:mysql://localhost
再看一个重载的例子 package OverloadAndOverride; public class OverrideTest { void max(int a, int b) { System.out.println...2 覆盖(override):当父类中的某些方法不能满足需要的时候,子类改写父类的方法,当父类中的方法被覆盖之后,除非使用super关键字,否则无法再调用父类的方法。...即子类所抛出的异常必须和父类方法所抛出的异常一致,或子类中不抛出异常; 3、被覆盖的方法不能是final类型的,因为final类型的方法无法被子类覆盖; 4、被覆盖的方法不能是private类型的...,否则在子类中只是定义类一个新的方法,并没有对其进行覆盖; 5、被覆盖的方法不能是static类型的,如果父类的方法为static类型的,而子类的方法不是static类型的,那么两个方法除了这一点外其他都满足覆盖条件...反之亦然,即使父类和子类中的方法都是static类型的,并且满足覆盖条件,但是仍然不会发生覆盖,因为static是在编译的时候将静态方法和类的引用类型进行匹配。
棋盘覆盖问题(Java) 1、问题描述 2、算法设计思路 3、代码实现 4、复杂度分析 5、参考 ---- ---- 1、问题描述 在一个2k×2k个方格组成的棋盘中,若恰有一个方格与其他方格不同,...显然特殊方格在棋盘上出现的位置有4k 种情形.因而对任何k ≥ 0,有4k种不同的特殊棋盘。如下图中的特殊棋盘是当k = 2时16个特殊棋盘中的一个。...易知,在任何一个2k×2k的棋盘覆盖中,用到的L型骨牌个数恰好为(4k - 1)/3。 2、算法设计思路 使用分治策略,可以设计出解棋盘覆盖问题的简洁算法。...如若特殊方格在子棋盘中,则递归执行该子棋盘的操作;若不在,对于左上角子棋盘、右上角子棋盘、左下角子棋盘、右下角子棋盘而言,用编号为t的L型骨牌依次覆盖右下角、左下角、右上角、左上角的方格。...{ // TODO 说明特殊方格不在此子棋盘中 // 用t号L型棋盘覆盖这个子棋盘的右下角 board[tr + s - 1][
领取专属 10元无门槛券
手把手带您无忧上云