Exception 的作用,这个问题是一个开放性的问题,没有标准的答案,不同经历的人可能会有不同的答案,也就是说经历过惨痛的经历后,才会对Java Exception 有深刻的认识,单纯理论学习,按部就班的按所谓的规范使用...Java 中的NullPointerException 对外提供的信息极少,所以应用系统应该尽可能catch 这类异常,包装为信息量更加丰富的异常抛出。...其实,大都数异常,程序都应该有一定的相应的处理逻辑,例如,ArrayIndexOutOfBoundsException,这类异常在编码过程中应该能够被预见,并需要做出现相应的逻辑控制,有经验的程序员,在编码的过程中就已经考虑到各种异常的情况...有什么区别,在什么场景下定义,也是一个仁者见仁,智者见智的问题,Java 没有任何指导建议,按我个人的判断,JDK中也有很多的定义也不是特别合理,例如:IndexOutOfBoundsException...结论 针对Java 异常的解读是我个人的见解,就像古诗词一样,不同人有不同的解读,相信JDK 的设计者也无法给 Java Exception 一个明确的解释和原则,只能靠历史经验的积累和不断的错误中,逐形成相对完整的理论
1.1 ArrayList的用法 马克-to-win:ArrayList是List接口的众多实现类其中的一个: 可以使我们快速访问元素,马克-to-win:为什么?...因为它的内部组成结构就像Array一样,而且提供了可以直接访问第几个元素的方法比如下面例子中的get(index),但往其中插入和删除元素时,速度却稍慢。与LinkedList相比,它的效率要低许多。...(新手可忽略)和vector相比: (from java documentation: ArrayList is roughly equivalent to Vector, except that it...但多数情况下不使用Vector,因为线程安全需要更多的系统开销。...一个ArrayList的实例: 例:1.1.1 import java.util.ArrayList; public class TestMark_to_win { public static
3.7 TreeMap的用法 马克-to-win:TreeSet是按升序顺序输出的。...TreeMap也是按升序输出,但是和它的区别就是TreeSet存储的是单个元素,而TreeMap存储的是一个一个的键值对。...例:3.7.1 import java.util.*; public class TestMark_to_win { public static void main(String args[]...tm.put("ww", new Double(2345.00)); tm.put("zl", new Double(3323.22)); /* entrySet取出一个一个的键值对
3.1 Vector的用法 马克-to-win:Vector和ArrayList很类似,前面讲了二者的区别,就在于同步的问题上,Vector的使用是非常简单的:先创建一个,再用addElement(...)置入对象,以后用elementAt()取得那些对象 例:3.1.1 import java.io.*; import java.util.*; public class TestMark_to_win
2.2 TreeSet的用法 TreeSet 二叉查找书,所以结果为升序,任何顺序添加打印结果都为升序。 ...例:2.2.1 import java.io.*; import java.util.*; public class TestMark_to_win { public static void
2.1 HashSet的用法 对象也必须定义hashCode(),比如下面例子2.1.1中的String类中就定义了hashCode方法。...h.add("1"); 但随着Set的增大,它的性能不会大打折扣。这是由Hash的低层结构决定的。HashSet不保证输出的顺序。...例:2.1.1 import java.util.*; public class TestMark_to_win { public static void main(String args[
3.8 HashMap的用法 马克-to-win:HashMap和HashSet很像,只不过它里面存的是一个一个的键值对。...例:3.8.1 import java.util.*; public class TestMark_to_win { public static void main(String[] args
一个Collections的例子 马克-to-win: 在操纵ArrayList里面的内容时, 通常我们利用Collections。Collections是集合框架中的一个工具类。...例:1.1.3 import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; public
3.4 Arrays的用法 马克-to-win:Arrays这个类包含着操纵Array的方法。...例:3.4.1 import java.util.Arrays; public class TestMark_to_win { public static void main(String args... System.out.print(a2[i]); /*public static boolean equals(int[] a1, int[] a2) 判断两个数组是否包含同样多的元素
一个Iterator的实例 想遍历ArrayList里面的内容,通常先生成一个“迭代器”(Iterator), 之后利用它里面的iterator()方法,马克-to-win:Iterator就像一面镜子...,能照出集合类中的内容。...通过遍历,能得到集合类中的内容。...例:1.1.2 import java.util.ArrayList; import java.util.Iterator; public class TestMark_to_win {
3.9 Properties的用法 马克-to-win:Properties里面存着也是键值对,而且它更方便java对配置文件,字符串的操作, 例:3.9.1 import java.util
3.6 Comparator的用法 马克-to-win:和Comparable的思路一样,只不过排序规则这次是在Comparator的继承类的compare方法中定义。...例:3.6.1 import java.util.*; // A reverse comparator for strings. class MyComp implements Comparator {...java.lang Class Object implement equals method, so its sub-class MyComp does not need to ...implement equals method, while java.lang Class Object does not implements compare mathod. *
1.2 LinkedList的用法 LinkedList也是List接口的实现类,提供快速的顺序访问性能,同时可以高速地在列表中插 入和删除。但随机访问时,速度却很慢,此时应换用ArrayList。...马克-to-win: 前面讲这是由他们的内部结构决定的。...例:1.2.1 import java.util.*; public class TestMark_to_win { public static void main(String args[])
神奇的是:java的IO包里的各种各样的类竟然把上面的所有IO情况(文件、控制台、网络连接)都能一把抓轻松搞定。这章我们学文件,控制台, 下章我们学网络连接。
异常的意义:马克-to-win:通过上面的例子,我们看出通过引入异常这种技术,即使出现不测(用户把0赋给除数),也可以让程序不崩溃,还能继续优雅 的运行。那,这种技术有用,值得学。...马克-to-win:当你批量下载文件时,如出现什么错误,你是不是希望下载器能告诉你出现了什么问题,比如硬盘不足 等等,在你提供了足够的硬盘空间以后,下载继续自动进行。
4.补充知识:泛型 从jdk1.5以后,java用来限制存入集合容器的对象的类型必须是中规定好的。...例:4.1 import java.util.*; public class TestMark_to_win { public static void main(String args[])...int i = 0; i < length; i++) { System.out.println(list.get(i)); } } } 下面类旁边的泛型说明类中要用到自己定义的新类型
例如,1个数字或1个符号计为1个token,在英语中,一个单词通常是一个token,而在中文中,一个字符或一个词语可以是一个token。...每个token通常用一个整数表示,这个整数对应于模型的词表中的一个位置。例如,token"hello"可能表示为整数1024。 大多数模型对输入的token数量有限制,通常为512个token。.../token_usage 一般情况下模型中 token 和字数的换算比例大致如下: 1 个英文字符 ≈ 0.3 个 token。...但因为不同模型的分词不同,所以换算比例也存在差异,每一次实际处理 token数量以模型返回为准,这可以从返回结果的usage中查看,e.g. tokens used: 10521, model: Deepseek...(deepseek-r1) 另外,ds提供一个可以进行离线计算Tokens用量的工具(python),可以通过下载压缩包中的代码来运行tokenizer,以离线计算一段文本的Token用量, https
马克-to-win:Port端口是个伟大的发明。否则当我又想访问www.baidu.com获得他的网页,又想同时访问这台机器的sqlserver数据库获取数据库时怎么办呢?这时就用端口来区分。...一个端口相对于一个程序(先不谈一个程序用多个端口的情况)。一台机器共有65536个端口。Port must be between 0 and 65535 inclusive....顺便说一句:操作系统保留了使用端口1到端口1024的权力,所以没事别用这些端口。(if you really use 1023, it may not report error.
9.访问控制 【新手可忽略不影响继续学习】 访问控制有什么用?...如果大家有需求建议说你把顺序改成321,他们得经过你的同意,把这顺序为321的公共方法,重新加入你的类中,重新在你自己的网站打包发布,所以保护了你的知识产权马克-to-win。 ...Java的访问指示符分类1.public(公共的,全局的)2.private(私有的,局部的)3.protected(受保护的)4.默认访问级别。 ...public:public成员可以被你的程序中的任何其他代码访问。 private :private成员只能被它的类中的其他成员访问。 默认访问级别:如果不使用访问指示符,该类成员为默认访问。...即在它自己的包内为public,但在它的包以外不能被存取。 更多请看:https://blog.csdn.net/qq_44639795/article/details/103124939
Object类的getClass的用法: Object类中有一个getClass方法,m a r k- t o- w i n:它会返回一个你的对象所对应的一个Class的对象,这个返回来的对象保存着你的原对象的类信息...,比如你的原对象的类名叫什么,类里有什么方法,字段等。...在高级编程当中用的很多,和反射相关。马克-to-win:现在这个阶段还说不清楚,只能先打个比方,反射就像镜子,你觉得生活当中的镜子有用吗?