assert是否执行
在linux 上无论 是release还是debug,只要没有-DNDEBUG 就会执行assert
分类目录归档:Language
optparse模块主要用来为脚本传递命令参数,采用预先定义好的选项来解析命令行参数
只需引入optparse模块即可,执行初始化,实例化一个OptionParser对象,在为命令添加选项
from optparse import OptionParser
usage="show something usefull
-- for example: how to use this program"
parser = OptionParser(usage) #带参的话会把参数变量的内容作为帮助信息输出
java支持4中不同的访问权限 default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。 private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类) public : 对所有类可见。使用对象:类、接口、变量、方法 protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。 接口及接口的成员变量和成员方法不能声明为 protected
修饰符 | 当前类 | 同一包内 | 子孙类(同一包 | 子孙类(不同包) | 其他包 |
---|---|---|---|---|---|
pulbic | Y | Y | Y | Y |
import java.io.File;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class RuntimeDemo {
public static void main(String[] args) {
try {
for (int i = 0; i < 200; i++) {
new Thread(new Runnable() {
abstract class AbstractStringBuilder implements Appendable, CharSequence {
/**
* The value is used for character storage.
*/
char[] value;
/**
* The count is the number of char
Java 的transient关键字为我们提供了便利,只需要在实现Serilizable接口,将不需要序列化的属性前添加关键字transient, 序列化对象的时候,这个属性就不会序列化到指定的目的地中
1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。
2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。
3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被t
javac -g
远程调试: java -Xdebug -Xrunjdwp:transport=dt_socket,address=[127.0.0.1:]8787,server=y,suspend=y 启动类
本地调试: 不做任何内容
远程调试:jdb --attach [ip:]8787
本地调试:jdb -classpath [:] main函数 argc
jdb内可以通过help查看帮助
use 源码路径,需要和包保持一致,如果你的包是com.xxdr.Test, public class 是 TestMain