- 博客(93)
- 收藏
- 关注
原创 Java虚拟机
Java虚拟机运行时数据区域Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。JDK1.8 之前:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ezenk9UW-1645711548247)(G:\photos\mkd截图\image-20211107121639919.png)]JDK1.8:[外链
2022-02-24 22:06:16
924
1
原创 redis设计与实现
redis设计与实现简介Redis数据库中的每个键值对都是由对象组成的,其中:数据库键总是一个字符串对象而数据库键的值则可以是字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种对象中的其中一种简单动态字符串Redis自己构建了一种名为简单动态字符串(SDS)的抽象类型,并将SDS用作Redis的默认字符串表示在Redis里面,C字符串只会作为字符串字面量用在一些无需对字符串值进行修改的地方当Redis需要的不仅仅是一个字符串字面量,而是一个可以被修改的字符串值时,Redis就会
2022-02-24 22:04:59
1163
原创 尚硅谷实战项目-谷粒学院-part two
添加课程基本信息添加课程信息后端1、使用代码生成器生成课程相关的代码2、细节问题:创建vo实体类用于表单数据封装把表单提交过来的数据添加数据库向两张表添加数据:课程表和课程描述表把讲师和分类使用下列列表显示课程分类 做成二级联动效果@Servicepublic class EduCourseServiceImpl extends ServiceImpl<EduCourseMapper, EduCourse> implements EduCourseServ
2022-01-18 15:51:31
2644
原创 JUC相关
JUC简介JUC是指java.util.concurrent 工具包的简写,这是一个处理线程的工具包,JDK1.5 开始出现的进程是在系统中正在运行的一个应用程序,程序一旦运行就是进程,进程是资源分配的最小单位线程系统分配处理器时间资源的最小单位,或者说进程之内独立执行的一个单元执行流,是程序执行的最小单位用户线程自定义线程主线程结束了,用户线程还在运行,Jvm存活守护线程比如垃圾回收没有用户线程了,都是守护线程,jvm结束创建线程的方式1、继承Thread类2、实现Runaa
2021-12-18 15:03:34
177
原创 使用python处理url
使用爬虫工具爬数据的时候,需要大量处理url,先将数据集中属于url的那一列单独取出来,然后需要拼接某些字符串。import sysimport csvfilename = '你的csv文件的地址'# 里面有中文的话注意使用utf-8的格式with open(filename, encoding='utf-8') as csvfile: reader = csv.reader(csvfile) header_row = next(reader) column1 = [ro
2021-11-10 17:09:46
1062
原创 MySQL技术内幕
MySQL技术内幕MySQL体系结构和存储引擎定义数据库和实例实例:MySQL数据库由后台线程以及一个共享内存区组成。共享内存可以被运行的后台线程所共享。数据库实例才是真正用于操作数据库文件。MySQL被设计为一个单进程多线程架构的数据库。MySQL数据库实例在系统上的表现就是一个进程。MySQL数据库中,可以没有配置文件,在这种情况下,MySQL会按照编译时的默认参数设置启动实例,MySQL数据库会以读取到的最后一个配置文件中的参数为准。MySQL体系结构MySQL由以下几部分组成:连接池
2021-10-03 22:54:42
1054
原创 SQL必知必会第四版笔记
SQL基础数据库数据库是一个保存有组织数据的容器数据库软件应该称为数据库管理系统(DBMS),数据库是通过DBMS创建和操纵的容器表表是一种结构化的文件,可用来存储某种特定类型的数据。描述表的这组信息就是所谓的模式,模式可以用来描述数据库中特定的表,也可以用来描述整个数据库(和其中表的关系)主键一列(或一组列),其值能够唯一标识表中的每一行主键中的值不允许修改和更新,主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)检索数据检索不同的值DISTINCT关键字,指示数据库
2021-09-18 20:16:53
268
原创 vue2基础
vue简介一套用于构建用户界面的渐进式JavaScript框架特点1、采用组件化模式,提高代码复用率、且让代码更好维护2、声明式编码,让编程人员无需直接操作DOM,提高开发效率3、使用虚拟DOM+优秀的Diff算法,尽量使用DOM节点基本使用创建Vue实例1.想让vue工作,就必须创建一个vue实例,且要传入一个配置对象2.root容器里面的代码依然符合Html规范,只不过混入了一些特殊的Vue语法3.root容器里的代码被称为【Vue模板】4.Vue实例和容器是一一对应的5.真实
2021-09-10 19:01:15
763
原创 JS基础知识
JS简介特点解释性语言类似于C和Java的语法结构动态语言基于原型的面向对象基本语法输出语句 <script type="text/javascript"> // 控制浏览器弹出一个警告框 alert("这是我的第一行js代码") // 让计算机在页面中输出一个内容 在Body中写入一个内容 document.write("123") // 向控制台输出一个内容 conso
2021-09-01 10:44:39
402
原创 Java8 的新特性
Java8 的新特性Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为是一段可以传递的代码(将代码像数据一样进行传递)。使用它可以写出更简洁、更灵活的代码。作为一种更紧凑的代码风格,试Java的语言表达能力得到了提升。@Testpublic void test2(){ Comparator<Integer> com1 = new Comparator<Integer>(){ @Override public
2021-08-20 12:14:45
73
原创 Java虚拟机
Java虚拟机自动内存管理机制Java虚拟机在执行java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hgu68H02-1625933880988)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\im
2021-07-11 00:18:14
359
1
原创 谷粒学院-项目后端总结
项目总结项目层次划分controller@Autowired注解spring可以自动帮你把Bean里面引用的对象的setter/getter方法省略,它会自动帮你set/get。@Autowired注释进行自动注入时,spring容器中匹配的候选Bean数目必须有且仅有一个。当找不到一个匹配的Bean时,spring容器将抛出BeanCreationException异常,并指出必须至少拥有一个匹配的Bean。如果spring容器中拥有多个候选Bean,spring容器在启动时也会抛出Be
2021-07-05 19:24:43
1272
4
原创 尚硅谷实战项目-谷粒学院-part one
实战项目mybatis-plus的使用查询操作application.properties文件#springboot2.1后加cj,不会报警告spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver#springboot2.1之后的版本需要加时区spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8 spring.
2021-05-26 16:01:02
3293
2
原创 Spring Cloud
Spring Cloud微服务架构介绍微服务架构是一种架构模式,它提倡将单一应用程序分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制相互协作(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。SpringCloud 简介S
2021-05-13 11:58:24
556
原创 SpringBoot2-day2
常见参数注解使用: @RestControllerpublic class ParameterTestController { // car/2/owner/zhangsan @GetMapping("/car/{id}/owner/{username}") public Map<String,Object> getCar(@PathVariable("id") Integer id, @
2021-04-28 16:30:02
223
原创 Java核心技术 卷1
Java核心技术 卷1Java程序概述关键术语简单性面向对象:将重点放在数据(即对象)和对象的接口上网络技能健壮性:能检测许多在其他语言仅在运行时刻才能够检测出来的问题安全性:能防范运行时堆栈溢出,在自己的处理空间之外破坏内存,未经授权读写文件体系结构中立可移植性解释型:java解释器可以在任何移植了解释器的机器上运行java字节码高性能多线程:只要操作系统支持,Java中的线程就可以利用多个处理器动态性Java applet 与 Internet在网页上运行Java程序称
2021-04-23 14:17:11
1869
原创 Docker
Dockerdocker:是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。比较Docker和虚拟机技术的不同:传统虚拟机:虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟硬件每个容器间是互相隔离的,每个容器内都有一个属于自己的文件系统,互不影响
2021-04-23 14:16:23
314
原创 Zookeeper
Zookeeper概述:Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目Zookeeper的工作机制:Zookeeper从设计模式角度来理解,是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应1.服务端启动时去注册信息(创建都是临时节点)2.获取到当前在线服务器列表,并注册监听3.服务器节点下线
2021-04-23 14:14:59
184
原创 Spring注解驱动开发-day3
servlet 基于注解开发:index.jsp中 <a href="hello">hello</a>新建HelloServlet类@WebServlet("/hello")public class HelloServlet extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletE
2021-03-27 10:54:53
76
原创 Spring注解驱动开发-day2
@Profile指定组件在哪个环境下才能被注册到容器,不指定任何环境下都能注册这个组件1.加了环境表示的bean,只有这个环境被激活的时候才能注册到容器中,默认是default环境2.写在配置类上:只有是指定的环境的时候,整个配置里面的所有配置才能生效3.没有标注环境标识的bean在任何环境下都是加载的//spring为我们提供的可以根据当前还款,动态的激活和切换一系列组件的功能//开发环境、测试环境、生成环境@PropertySource("classpath:/dbconfig.prop
2021-03-26 21:19:29
90
原创 Spring注解驱动开发
没有使用Spring注解之前:写好Person类后,在resource文件夹下:<bean id="person" class="com.yutou.bean.Person"> <property name="age" value="18"></property> <property name="name" value="zhangsan"></property> </bean>测试:p
2021-03-24 15:05:23
74
原创 MySQL高级-day1
MySQL配置文件:二进制日志Log-bin :主从复制错误日志Log-error:默认是关闭的,记录严重的警告和错误信息,每次启动和关闭的详细信息等查询日志log:默认关闭,记录查询的sql语句,如果开启会降低mysql的整体性能,因为记录日志也是需要消耗系统资源的数据文件:1.看看当前系统的全部库后再进去 默认路径:/var/lib/mysql2.frm文件:存放表结构3.myd文件:存放表数据4.myi文件:存放表索引mysql的逻辑架构简介:和其他数据库相比,Mysql的架构可以
2021-03-17 16:02:49
205
原创 Redis-day2
Redis的事务是什么?可以一次性执行多个命令,本质是一组命令的集合,一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其他命令插入,不许加塞能干嘛?一个队列中,一次性、顺序性、排他性的执行一系列命令。正常执行:放弃事务:全体连坐:冤头债主:watch监控:悲观锁/乐观锁/CAS(Check And Set)悲观锁:悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个
2021-03-11 17:43:33
72
原创 Redis-day1
NoSQL = Not only SQL 泛指非关系型的数据库,这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展什么是BSON:BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON,它和JSON一样,支持内嵌的文档对象和数组对象高并发的操作是不太建议有关联查询的,互联网公司用冗余数据来避免关联查询。分布式事务是支持不了太多并发的NoSQL数据库的四大分类:1.KV键值:2.文档型数据库(bson格式比较多):典型介绍3.列存储数据库4.图关系数据库:
2021-03-11 11:47:08
78
1
原创 Springboot2-day1
使用springBoot之前先导入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> </parent> <dependenc.
2021-03-07 20:58:31
142
原创 Linux-day2
用户和组的相关文件:用户配置文件(用户信息):/etc/passwd每行的含义:用户:口令:用户标识符:组标识符:注释性描述:主目录:登录 Shell组配置文件(组信息):/etc/group口令配置文件(密码和登录信息,是加密):/etc/shadow每行的含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志Linux运行级别:0:关机1:单用户【找回丢失密码】2:多用户状态没有网络服务3:多用户状态有网络服务4:系统未使用
2021-03-05 17:37:59
90
原创 Linux-day1
Linux和Unix的关系:学习Linux需要一个环境,我们需要创建一个虚拟机,然后在虚拟机上安装一个Centos系统来学习虚拟机的网络连接三种形式的说明:1.桥连接:Linux可以和其他的系统通信,但是可能造成ip冲突2.NAT模式:网络地址转换方式是Linux可以访问外网,不会造成IP冲突3.主机模式:你的Linux是一个独立的主机,不能访问外网。...
2021-03-05 15:34:27
75
1
原创 Mybatis
持久层技术解决方案:JDBC技术:ConnectionPrepareStatementResultSetSpring的JdbcTemplate:Spring中对Jdbc的简单封装Apache的DBUtils:它和Spring的JdbcTemplate很像,也是对Jdbc的简单封装以上这些都不是框架:JDBC是规范,Spring的JdbcTemplate和Apache的DBUtils都只是工具类Mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注s.
2021-02-05 23:25:35
198
3
原创 springMVC
三层架构:表现层(SpringMVC):也就是我们常说的web层,它负责接收客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,web需要接收Http请求,完成http响应业务层(Spring):也就是我们常说的service层,它负责业务逻辑处理持久层(myBatis):数据持久化,包括数据层即数据库和数据访问层SpringMVC:...
2021-02-02 21:23:00
80
原创 python-networkx库的使用1
network是一个用Python语言开发的图论与复杂网络建模工具,内置了常用的图与复杂网络分析算法,可以方便的进行复杂网络数据分析、仿真建模等工作。networkx支持创建简单无向图、有向图和多重图;内置许多标准的图论算法,节点可为任意数据;支持任意的边值维度,功能丰富,简单易用。1、Graph在NetworkX中,一个节点可以是任意hash对象(除了None对象),一条边也可以关联任意的对象,像一个文本字符串,一幅图像,一个XML对象,甚至是另一个图或任意定制的节点对象。1.1 Graph分类
2021-01-17 20:58:47
2562
原创 spring-事务
事务1.创建数据库表,添加记录2.创建service注入dao、在dao注入jdbcTemplate,在JdbcTemplate注入Datasource3.在dao创建两个方法,在service创建方法(转账的方法)在Spring进行事务管理操作:有两种方式,编程式事务管理和声明式事务管理声明式事务管理:(1)基于注解方式(2)基于xml配置文件方式在Spring进行声明式事务管理,底层使用AOP原理Spring事务管理API:(1)提供一个接口,代表事务管理器,这个接口针对不同的框架
2021-01-09 16:09:57
94
原创 Java-jdbcTemplate
jdbcTemplate(概念和准备)1.什么是jdbcTemplateSpring框架对JDBC进行封装,使用JDBCTemplate方便实现对数据库操作(1)相应包(2)在sprIng配置文件数据库连接池 <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value
2021-01-08 21:13:24
247
原创 Spring框架-AOP
AOP(概念)什么是AOP?面向切面编程,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。不通过修改源代码方式添加新的功能AOP底层原理:AOP底层使用动态代理有两种情况动态代理(1)有接口情况,使用JDK动态代理创建接口实现类代理对象,增强类的方法(2)没有接口情况,使用CGLIB动态代理创建子类的代理对象,增强类的方法使用JDK动态代理,使用Proxy类(1)调用newProxyInstance方法
2021-01-07 14:02:34
85
原创 Spring5框架-IOC
Spring是轻量级的开源的javaEE框架Spring有两个核心部分:IOC和AopIOC:控制反转,把创建对象过程交给Spring进行管理,目的为了耦合度降低Aop:面向切面,不修改源代码进行功能增强IOC底层原理:(1)XML解析、工厂模式、反射IOC接口:1.IOC思想基于IOC容器完成,IOC容器底层就是对象工厂2.Spring提供IOC容器实现两种方式(两种接口):(1)BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供给开发人员进行使用。加载
2021-01-06 17:31:18
68
原创 java-session
Session:就是一个接口,一个会话用来维护一个客户端和服务器之前关联的一种技术每个客户端都有自己的一个Session会话,Session会话经常用来把偶才能用户登录之后的信息如何创建和获取Sessionrequest.getSession()第一次调用是创建Session会话,之后调用都是获取前面创建好的Session会话对象isNew():判断到底是不是刚创建出来的(新的)每个会话都有一个ID值,而且这个ID是唯一的getId()得到Session会话的IDpublic class
2021-01-03 13:19:27
79
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人