问题整理总结
ZZYSY~
这个作者很懒,什么都没留下…
展开
-
打包时出现Downloading https://...to
这种情况就是文件下载不下来,我们可以手动下载先把前面的链接复制下来https://nodejs.org/dist/v9.11.1/node-v9.11.1-win-x64.zip 放到浏览器中,跳转后应该就会自动开始下载这个文件复制后面那个地址,去资源管理器中找一下,可以发现这个文件确实没有下载下来,是0KB我们把刚才下载的那个文件复制到这里删除没有下载好的那个,把自己下载那个文件的名字修改一下,这样就好了再次执行打包命令应该也不会报这个错误了...原创 2022-03-24 16:28:00 · 839 阅读 · 0 评论 -
线程的状态有哪些,怎样流转的
新建状态:创建一个线程时的状态就绪状态:新建的线程不自动开始运行,需要调用start方法,调用之后即启动了线程,进入就绪状态运行状态:当线程获得cpu时间片后,进入运行状态,开始执行run方法阻塞状态:线程还没有结束,暂时让出cpu给其他线程,情况如下通过调用sleep方法调用一个在i/o上被阻塞的操作试图获得一个锁,但是该锁正被其他线程持有着等待某个触发条件死亡状态:run方法执行完退出线程自然死亡一个未捕获的异常终止了run方法使线程突然死亡...原创 2022-03-22 21:38:51 · 152 阅读 · 0 评论 -
synchronized与ReentrantLock的区别
Synchronized的实现设计锁升级,无锁 偏向锁 轻量级锁 重量级锁,ReentrantLock的实现利用cas保证线程操作原子性和volatile保证可见性Synchronized不需要用户手动释放锁,代码执行完后会自动释放,ReentrantLock需要手动释放,否则可能会导致死锁Synchronized是不可中断类型的锁,ReentrantLock可以中断,通过trylock设置过期时间或者使用interrupt方法来中断Synchronized是非公平锁,ReentrantLock可以.原创 2022-03-22 21:31:53 · 103 阅读 · 0 评论 -
浏览器中输入URL后发生了什么
解析URL解析应用层协议类型,比如http、https、ftp等解析域主机,比如http默认是www解析域名,比如baidu.com解析主机端口,比如http默认是80端口,https默认是443解析资源路径,就是第一个/后面的东西解析资源名,就是最后一个/后面的东西查询DNS浏览器不能直接通过域名找到对应的服务器,只能通过ip地址,所以要根据域名去查询ip地址,一般会通过浏览器缓存、操作系统缓存、路由缓存等查询TCP/IP的连接与断开共有四层,再发生方那里,每一层都会加上一个头部再原创 2022-03-21 18:18:01 · 2915 阅读 · 0 评论 -
HashMap和TreeMap的区别
HashMap和TreeMap都是非线程安全的HashMap通过hashcode()对元素进行快速查找,元素没有顺序TreeMap中的元素都是有序的HashMap继承了AbstractMap类,覆盖了hashcode()和equals()方法,以确保两个相等的映射返回相同的哈希值TreeMap不仅继承了AbstractMap类,还实现了SortedMap接口,每个添加进TreeMap的元素都会实现Comparator接口,以此实现对存入元素的排序HashMap是基于哈希表实现的,我们可以对初始容.原创 2022-02-25 15:42:31 · 506 阅读 · 0 评论 -
ArrayList和LinkedList的区别及源码分析
数据结构不同ArrayList是基于动态数组实现的LinkedList是基于链表实现的效率不同当随机访问(set和get)时,ArrayList的效率是高于LinkedList的。因为ArrayList只需设置或查找相应下标的值即可,而LinkedList需要移动指针到下标处的结点再访问当在指定下标添加和删除(add和remove)时,LinkedList的效率和ArrayList的效率就需要分情况讨论了,ArrayList在进行增删操作时需要移动下标后的所有元素,LinkedList需要.原创 2022-02-25 15:08:15 · 578 阅读 · 0 评论 -
HashMap和Hashtable有什么区别
HashTable是同步的,线程安全,HashMap是不同步的,线程不安全,但是HashMap的效率比HashTable高HashTable继承自Dictionary类,HashMap继承自AbstractMap类HashMap去掉了HashTable中的contains方法,但是多了containsValue和containsKey方法HashMap允许有null,HashTable不允许有nullHashMap使用Iterator进行遍历,HashTable使用Enumeration进行遍历.原创 2022-02-14 20:50:34 · 407 阅读 · 0 评论 -
String str与new String的区别
String str = “test”首先会在字符串常量池中检查有没有"test"这个对象如果没有,直接创建一个“test”在字符串常量池中,然后让str指向字符串常量池中的"test"如果有,直接让str指向这个已经存在于字符串常量池中的"test"String str = new String(“test”)首先会在字符串常量池中检查有没有"test"这个对象如果没有,直接创建一个“test”在字符串常量池中,然后在堆中创建“test”对象,让堆中的"test"对象指向常量池中的"te原创 2022-02-13 23:47:57 · 146 阅读 · 0 评论 -
String,StringBuffer与StringBuilder的区别
String是不可变的对象,每一次改变都会在字符串常量池中创建一个新的String对象,然后再用指针指向这个对象,如果经常性地修改String的内容,就会在内存中创建很多无用的String对象,十分影响性能,所以在经常修改字符串的时候不建议使用String。StringBuffer与StringBuilder最大的区别在于StringBuffer是线程安全的,StringBuilder是非线程安全的,它们都可以在原有字符串的基础上修改操作,但StringBuilder的性能是好于StringBuffer的原创 2022-02-13 23:40:04 · 40 阅读 · 0 评论 -
重写equals必须重写hashCode
首先我们来看java中对Object的规范:在应用程序的执行期间,只要对象的equals方法的比较操作所用到的信息没有被修改,那么对同一个对象的多次调用,hashCode方法都必须始终返回同一个值。在一个应用程序与另一个程序的执行过程中,执行 hashcode 方法所返回的值可以不一致。如果两个对象根据equals(Object)方法比较是相等的,那么调用这两个对象中的hashCode 方法都必须产生同样的整数结果。如果两个对象根据equals(Object)方法比较是不相等的,那么调用这两个对象中原创 2022-01-16 23:49:46 · 359 阅读 · 0 评论 -
在java中为什么说String是不可变的
如果要了解String的不可变性,可以先在jdk1.8中找到String类的部分源码public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** Cache the hash c原创 2022-01-16 22:57:25 · 912 阅读 · 0 评论 -
try、catch、finally关于return的执行顺序和结果
public class Test { public static void main(String[] args) { System.out.println(test()); } public static int test() { int a = 1; try { Class c = Class.forName(""); a = 2; System.out.pr原创 2022-01-16 22:26:02 · 160 阅读 · 0 评论 -
==到底在判断什么
①对于基本数据类型:==是判断值是否相同②对于引用数据类型:是判断地址是否相同③equal方法只能用在引用数据类型中,起源于Object类,但在Object类中的equal方法使用判断地址是否相同④String类对来自Object类中的equal方法进行了重写,先判断地址是否相同,相同返回true,如果不同就会判断要判断的是否是String类型,如果是则进行值的比较,不是则返回false...原创 2022-01-16 09:48:08 · 419 阅读 · 0 评论 -
static大乱斗
public class InitializeDemo { private static int k = 1; private static InitializeDemo t1 = new InitializeDemo("t1"); private static InitializeDemo t2 = new InitializeDemo("t2"); private static int i = print("i"); private static int n =原创 2022-01-16 09:09:43 · 204 阅读 · 0 评论 -
方法参数在内存中的指向问题
public class Test { public static void main(String[] args) { int a = 10; int b = 200; Integer a1 = 10; Integer b1 = 200; Student a2 = new Student("张三"); Student b2 = new Student("李四"); test1(10,20原创 2022-01-16 09:09:37 · 65 阅读 · 0 评论 -
int和Integer的==比较
public class Test { public static void main(String[] args) { int a = 10; int b = 200; Integer a1 = 10; Integer b1 = 200; Integer a2 = new Integer(a1); Integer b2 = new Integer(b1); System.out.prin原创 2022-01-16 09:09:30 · 270 阅读 · 0 评论 -
Byte加Byte不等于Byte
对于这段代码,c=a+b那行爆红public class Test { public static void main(String[] args) { Byte a = 1; Byte b = 2; Byte c = a + b; System.out.println(c); }}对于这段代码,可以正常运行并且结果也正确public class Test { public static void main(S原创 2022-01-15 21:57:44 · 507 阅读 · 0 评论 -
128陷阱
public static void main(String[] args) { Integer num1 = 100; Integer num2 = 100; System.out.println(num1 == num2); Integer num3 = 128; Integer num4 = 128; System.out.println(num3 == num4);}输出为true和false解析:答案就在Integet的valueOf()方当中,如果我们的数原创 2022-01-15 21:27:13 · 66 阅读 · 0 评论