自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 day7:实现自己的博客网站-2

实现自己的博客网站-2今日进度 :大致学习了解了vue基础,完成了简单的登录页面构建对应的后端系统,实现了登录功能笔记1 vue编码格式在HBuilderX中,不当的使用空格会导致编译错误,在写代码时应保证一致的缩进方式。2导入了oracle依赖而不在application.properties中配置,会导致项目找不到启动驱动第一天成果截图...

2021-03-17 18:07:42 97

原创 day5:学习笔记

day5:学习笔记写在开头,学长推荐使用有结构的笔记形式,而不是当下keypoints的形式,尽快学习笔记形式,然后建立知识体系结构。1 规范编程格式方法的名字开头小写2 传参问题在前后端传递数据时,把参数包装成实体对象,而不是一个一个独立参数,这样可以提供系统的复用性和稳定性3 ORM的发展历史Hibernate到JPA再到myBatis4 JPA和myBatis的区别JPA是一套技术体系,而myBatis是一个工具国外可能更要求使用JPA,而国内一般使用myBatis。JPA自己提

2021-03-15 18:17:45 67

原创 day4:学习笔记

day4:学习笔记今日任务:使用mybatis实现crud;实现根据姓名模糊查询

2021-03-12 16:52:11 108

原创 day2:学习笔记

day2 学习笔记1 maven阿里云镜像配置有问题使用:mvn install -Dfile=E:\pms_web-master\ojdbc14-10.2.0.5.jar -DgroupId=com.ccb -DartifactId=ojdbc14 -Dversion=10.2.0.5 -Dpackaging=jar导入jar包报错[ERROR] Failed to execute goal org.apache.maven.plugins:maven-install-plugin:2.4:ins

2021-03-10 18:16:29 79

原创 day1:学习笔记

day1:学习笔记1 @param的用法@Param是MyBatis提供的(org.apache.ibatis.annotations.Param),作为Dao层的注解,作用是用于传递参数,从而可以与SQL中的的字段名相对应,一般在2=<参数数<=5时使用最佳。用来注解单一属性 或 注解JavaBean对象2 @return1:提示信息2:生成javadoc时的说明3 HashMap(Map<? extends K, ? extends V> m)该构造函数意在构造

2021-03-09 19:37:36 63

转载 面试题学习笔记22:牛客网Java面试题学习

面试题地址:https://www.nowcoder.com/tutorial/94/b40a485f92ff496b9fe332079fa5be66问题一:如何保证线程安全?通过合理的时间调度,避开共享资源的存取冲突。另外,在并行任务设计上可以通过适当的策略,保证任务与任务之间不存在共享资源,设计一个规则来保证一个客户的计算工作和数据访问只会被一个线程或一台工作机完成,而不是把一个客户的计算工作分配给多个线程去完成。问题二: 请你简要说明一下线程的基本状态以及状态之间的关系?其中Running表示

2020-07-30 15:11:28 140

转载 面试题学习笔记21:牛客网Java面试题学习

面试题地址:https://www.nowcoder.com/tutorial/94/f5c9640c0b9a4891bc507615f1ffe170问题一:请你讲讲abstract class和interface有什么区别声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造

2020-07-29 16:31:59 158

原创 面试题学习笔记20:牛客网java面试题学习

面试题地址:https://www.nowcoder.com/tutorial/94/0f490fc65e3143188ca34029860b8efc问题一:请你讲讲Java里面的final关键字是怎么用的?当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不会让他被继承,就可以用final进行修饰。final类中的成员变量可以根据需要设为final,但是要注意final类中的所有成员方法都会被隐式地指定为final方法。“使用final方法的原因有两个。第一个原因是把方法锁

2020-07-27 16:04:44 124

原创 面试题学习笔记19:牛客网java面试题学习

面试题地址:https://www.nowcoder.com/tutorial/94/4206176d637541fa92c784a4f547e979问题一: 请你谈谈Java中是如何支持正则表达式操作的?Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作。问题二:请你简单描述一下正则表达式及其用

2020-07-26 14:48:15 150

原创 面试题学习笔记18:字节跳动面经学习5

面经地址:操作系统内存管理问题一:操作系统内存管理总的来说,包括内存管理和虚拟内存管理。内存管理包括程序装入等概念、交换技术、连续分配管理方式和非连续分配管理方式(分页、分段、段页式)。虚拟内存管理包括虚拟内存概念、请求分页管理方式、页面置换算法、页面分配策略、工作集和抖动。https://www.jianshu.com/p/051c8c26b2cf问题二:自旋锁自旋锁是指当一个线程在获取锁的时候,如果锁已经被其它线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取到锁

2020-07-25 16:57:43 124

原创 面试题学习笔记17:字节跳动面经学习4

面经地址:https://www.nowcoder.com/discuss/457325问题一:java gcGarbage Collectiongc主要集中在Java堆和方法区中,在程序运行期间,这部分内存的分配和使用都是动态的。

2020-07-24 17:11:04 172

原创 面试题学习笔记16:字节跳动面经学习3

面经地址:https://www.nowcoder.com/discuss/457325第一轮面试:问题1: Java map将键映射到值的对象一个映射不能包含重复的键每个键最多只能映射到一个值Map接口和Collection接口的不同Map是双列的,Collection是单列的Map的键唯一,Collection的子体系Set是唯一的Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效包括HashMap集合、LinkedHashMap集合。Has

2020-07-23 16:26:40 173

原创 面试题学习笔记15:字节跳动面经学习2

面经地址:https://www.nowcoder.com/discuss/456225?channel=1009&source_id=home_feed第二轮面试:问题一:Java中线程安全的集合类vector:就比arraylist多了个同步化机制(线程安全),因为效率较低,现在已经不太建议使用statck:堆栈类,先进后出hashtable:就比hashmap多了个线程安全enumeration:枚举,相当于迭代器java.util.concurrent 包下所有的集合类:Ar

2020-07-22 17:14:15 172

原创 面试题学习笔记14:字节跳动面经学习1

面经地址:https://www.nowcoder.com/discuss/456225?channel=1009&source_id=home_feed问题一:影响一个Http服务最大连接数的因素是什么问题二:一台服务器如何辨认一个请求是谁发送的解答:① 服务器在响应头内加上”Set-Cookie:XXXXXXXXXXXXX“(相当于一个唯一的ID符),此信息是服务器随机生成的,放在服务器内存里,不会重复,这就是sessionid。 ②当浏览器

2020-07-22 16:37:45 173

原创 面试题学习笔记13:静态库和动态库的区别

静态库一般扩展名为(.a或.lib),这类的函数库通常扩展名为libxxx.a或xxx.lib 。这类库在编译的时候会直接整合到目标程序中,所以利用静态函数库编译成的文件会比较大,这类函数库最大的优点就是编译成功的可执行文件可以独立运行,而不再需要向外部要求读取函数库的内容;但是从升级难易度来看明显没有优势,如果函数库更新,需要重新编译。动态函数库动态函数库的扩展名一般为(.so或.dll),这类函数库通常名为libxxx.so或xxx.dll 。与静态函数库被整个捕捉到程序中不同,动态函数库在编

2020-07-15 17:54:58 294

原创 面试题学习笔记12:new和malloc的区别

new和malloc的五点区别申请的内存所在的位置不同new操作符从自由存储区上为对象动态分配内存空间,而malloc函数从堆上分配内存。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序的内存动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。返回类型安全性new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故n

2020-07-01 16:43:28 117

原创 面试题学习笔记11:linux的编译过程

Linux下C语言的编译过程使用GCC编译程序时,编译工程分为4个阶段:预处理,编译,汇编,链接。程序员可以根据自己的需要让gcc在编译的任意阶段结束,以便于检查或使用编译器在该阶段输出信息,或者对最后生成的二级制文件进行控制,可以加入不同数量和种类的调试代码来为调试做准备。在功能上,预处理编译汇编是三个不同的阶段,但在gcc实际操作中合并为一个步骤进行。预处理将所有的#define删除,展开所有的宏定义,处理所有的条件预编译指令,如#if #ifdef #elif #else等。处理#incl

2020-06-30 15:49:50 185

原创 面试题学习笔记10:TCP和UDP

TCPTCP协议全称是传输控制协议是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的RFC 793定义。TCP 是面向连接的、可靠的流协议。客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。TCP的优点: 可靠,稳定 TCP的可靠体现在TCP在传递数据之前,会有三次握手来建立连接,而且在数据传递时,有确认、窗口、重传、拥塞控制机制,在数据传完后,还会断开连接用来节约系统资

2020-06-29 17:47:09 169

原创 面试题学习笔记9:多态的学习

在c++中,多态是在不同继承关系的类对象,调用同一个函数,但产生了不同的作用。用一个函数名来调用不同内容的函数。常见的例子是运算符,整型数,浮点数不同类型的数字在运算是调用了运算符不同的运算方法。多态性的实现和联编有关。一个源程序经过编译、链接,成为可执行文件的过程是把可执行代码联编(或称装配)在一起的过程。其中在运行之前就完成的联编成为静态联编(前期联编);而在程序运行之时才完成的联编叫动态联编(后期联编)。静态联编支持的多态性称为编译时多态性(静态多态性)。在C++中,编译时多态性是通过函数重载和

2020-06-28 17:48:05 137

原创 面试题学习笔记8:虚函数

虚函数的作用是实现类的多态性。基类定义虚函数,子类可以重写该函数。在派生类中对基类定义的虚函数进行重写时,需要在派生类中声明该方法为虚方法。当子类重新定义了父类的虚函数后,当父类的指针指向子类对象的地址时,[即B b; A a = &b;] 父类指针根据赋给它的不同子类指针,动态的调用子类的该函数,而不是父类的函数(如果不使用virtual方法,请看后面★*),且这样的函数调用发生在运行阶段,而不是发生在编译阶段,称为动态联编。而函数的重载可以认为是多态,只不过是静态的。注意,非虚函数静态联编,

2020-06-27 15:37:50 106

原创 面试题学习笔记7:C++中的四种锁

线程之间的锁有四种:互斥锁,条件锁,自旋锁和递归锁(不推荐使用)。锁的功能与锁的性能成反比。互斥锁互斥锁用于控制多个线程对共享资源互斥访问的一个信号量。可以避免多个线程再某一时刻同时操作一个共享资源。在某一时刻,只能有一个线程可以获取互斥锁,在释放互斥锁之前其他线程都不能获取该互斥锁。如果其他线程想要获取这个互斥锁,则线程只能以阻塞方式进行等待。头文件:类型:std::mutex用法:构建std::mutex的实例来创建互斥元,调用成员函数lock()和unlock()来解锁。例子:..

2020-06-26 15:59:48 2178

原创 面试题学习笔记6:JAVA的多线程

进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。所谓多线程是指一个进程在执行过程中可以产生多个更小的程序单元,这些更小的单元称为线程,这些线程可以同时存在,同时运行,一个进程可能包含多个同时执行的线程。多线程是实现并发机制的一种有效手段。实现Runnable接口例子:package ljz;class MyThread implements Ru

2020-06-25 16:02:52 91

原创 面试题学习笔记5:哈希表的实现以及哈希冲突的解决

哈希表的原理哈希表(散列表),是根据关键码值进行直接访问的数据结构。哈希表通过将关键码值映射到表中的特定位置来访问记录,以加快查找速度。映射函数被称为散列函数,存放记录的数组被称为散列表。哈希表把key值通过一个固定的哈希算法转换成一个整型数字,然后将该数字对数组长度取余,结果作为数组的下标,将值存到以该数字为下标的数字空间里。哈希表的优点是处理数据的复杂度平均都是O(1),效率很高。哈希函数的构造除余法选择适当的正整数p,令h(k)=k mod p。在这里p取较大素数比较好。此法容易实现,是最

2020-06-24 16:22:57 493

原创 面试题学习笔记4:四种智能指针

四种智能指针C++里有四个智能指针:auto_ptr(在cpp11中弃用), shared_ptr, weak_ptr,unique_ptr。作用:智能指针的作用是管理指针。指针申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度避免这个问题。智能指针的本质是一个类,超出类的范围就调用析构函数,释放资源。智能指针的作用原理是在函数结束时自动释放内存空间。auto_ptr(已被弃用)采用所有权模式。auto_ptr< string> p1 (new string ("I

2020-06-23 15:32:51 295

原创 面试题学习笔记3:C++的四种强制类型转换

学习原文链接:https://blog.csdn.net/geeeeeeee/article/details/3427920dynamic_cast: 通常在基类和派生类之间转换时使用,run-time castconst_cast: 主要针对const和volatile的转换.static_cast: 一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针

2020-06-22 16:44:04 285

原创 面试题学习笔记2:static的学习

C++中面向过程有三种,静态全局变量和静态局部变量还有静态函数。静态全局变量全局变量定义在函数体外部,在全局数据区分配存储空间,编译器自动对其初始化。静态全局变量仅对当前文件可见,其他文件可以定义与其同名的变量。而普通全局变量对整个项目可见,其他文件用extern外部声明后可以直接使用。静态局部变量静态局部变量,即便在声明时未赋值,编译器会自动为其赋值为0.静态局部变量储存在进程的全局数据区,即使函数返回,它的值也保持不变。可以起到全局变量的作用但是位于函数体内部,这样有利于程序的模块化。静

2020-06-21 16:39:02 151

原创 面试题学习笔记1:const的学习

c++中const的学习const一般用来定义常量,可以定义某一变量是无法改变的,也可以定义一个指针无法改变。1,定义常量例:// 定义一个不能修改的变量int const a=1;//或const int a =1;2,用于指针指向常量的指针const int *p;int const *p;//指针指向了一个常量,但指针的值可以修改。例:int a=1,b=2;const int *p=&a;*p=5 //错误,不能改变指针指向的变量的值p=$b /

2020-06-20 17:44:07 101

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除