目录
然后有一个查表法嘛,以前c++做力扣和做项目很少遇到,遇到了一般也是用Switch匹配,但是这方法也不错,记一下
Jsoup理论知识:但是出于隐私和版权,不展示全部代码
完整爬虫流程
PS:请求头,也就是这些connection.header是这样来的,打开
网页按F12+Fn
进阶:爬虫框架,但这需要学注射和反射所以先放一下
接下来补齐剩下的Java基础知识:
可这又是为什么?
先看sc.next输入string类型的源码
发现,是New出来的,所以str1是在堆区的,而不是在串池中,自然str1!=str2了
然后就是stringbuffer和stringbuider
这从之前几次的网络编程中也有感受,java的编程风格和c++有很大不同
c++其实是不建议这样一直调用的,而且由于对象基本都是自己写的,所以一般也用不起来。
但是java都是类,然后很支持这种方法。
string的底层原理
PS:ctrl+n,可以搜索java里面的类以及源码
ctrl+fn+f12可以搜索类的方法,ctrl加左键可以进一步看源码
toString变回字符串的时候是new一块空间的
JDK8以前的内部操作是这样的,资源大大滴浪费,很慢,可以想一想c++转移构造&&为什么要出现。
JDK8之后呢,会先预估,然后创建数组
但是:
例子
黑马程序员Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题+大厂java面试题)_哔哩哔哩_bilibili
这一集看源码很方便理解,大力推荐!
然后有一个查表法嘛,以前c++做力扣和做项目很少遇到,遇到了一般也是用Switch匹配,但是这方法也不错,记一下
alt+鼠标左键,可以连续选择上下多行
jdk12新特性,不需要记住:
这里提一嘴,随机打乱数组
这是char转int,和c++一样
这几个包嘛,更加充分体现了JAVA面向对象的特征,容器的“实例化”用的是包装类,甚至没有也行,有一个默认的object类
这里再次再次强调一个问题
java和c++内存管理很不同!!
这个student s一定不能写在外面,和c++的链表不同,这里arrylist存的其实很像一个指针,所以这样做的话,arrylist的每个元素都指向s,所以所又元素都一样,且都等于最后一次输入的。
所以,这样才对: