- 博客(22)
- 收藏
- 关注
原创 JVM07 JVM本地方法栈
07 本地方法栈本地方法接口为本地方法栈服务,本地方法栈执行时通过调用本地方法接口来实现;1. 本地方法栈Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法;本地方法栈是线程私有的;允许被实现成固定或者是可动态扩展的内存大小,会出现StackOverflowError异常和OutOfMemoryError异常;本地方法是使用C语言实现的;它的具体做法是Native Method Stack中登记native方法,在Execution Engine执行时加载本地方法库
2021-07-05 10:08:50
170
原创 JVM06 JVM本地方法接口
06 JVM本地方法接口上节讲过虚拟机栈后,接下来了解本地方法栈,了解本地方法栈首先要弄懂本地方法接口是什么?这一节来了解一下;1. 什么是本地方法?简单地讲,一个Native Method就是一个Java调用非Java代码的接口。一个Native Method是这样一个Java方法:该方法的实现由非Java语言实现,比如C语言。这个特性非Java所特有的,很多其它的编程函数都有这一机制,比如C++中,可以用extern "C"告知C++编译器去调用一个C的函数;作用:融合不同的编程语言为J
2021-07-05 09:53:34
117
原创 谷粒商城笔记03 docker安装mysql
03 docker安装mysql1. 下载镜像文件可以在docker hub网站找到自己要的镜像文件,docker hub链接地址#mysql后面不加版本号,表示下载最新版本docker pull mysql:5.7此步骤需要一点时间,由网速决定2. 创建实例并启动docker run -p 3306:3306 --name mysql \-v /mydata/mysql/log:/var/log/mysql \-v /mydata/mysql/data:/var/lib/mysql \
2021-07-02 17:38:13
397
原创 谷粒商城笔记02 docker的安装和配置
02 docker的安装和配置1. docker安装文档我们可以按照docker官网的安装文档进行安装,安装文档链接按照文档整理的接下来的安装步骤;2. 卸载系统之前的docker命令sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker
2021-07-02 17:37:38
170
原创 谷粒商城笔记01 Linux相关环境的搭建
谷粒商城笔记01 Linux相关环境的搭建学习尚硅谷的谷粒商城,将视频中的一些笔记记录下来,以便后续查看;1. 安装Linux虚拟机开发中使用的虚拟机软件为Virtual Box + Vagrant的搭配安装Linux虚拟机1.1 前提条件本地计算机需开启CPU虚拟化1.2 安装Virtual Box和VagrantVirtual Box下载地址Vagrant下载地址Vagrant官方镜像仓库Virtual Box和Vagrant的安装按照正常软件一直next即可;配
2021-07-01 17:22:59
140
原创 JVM05 JVM虚拟机栈
虚拟机栈是程序运行的逻辑控制,虚拟机栈控制着方法的入栈与出栈,代表着方法的运行,本文来了解一下JVM中的虚拟机栈结构和功能;1. Java虚拟机栈是什么?Java虚拟机栈(Java Virtual Machine Stack)是运行时的单位,栈解决程序的运行问题,其通过栈帧的入栈出栈来实现代码的运行;除此之外虚拟机栈还包括一下特点:虚拟机栈是线程私有的;生命周期和线程一致;虚拟机栈不存在垃圾回收问题,但是存在**OutOfMemoryError和StackOverflowError;**.
2021-06-30 15:51:46
78
原创 JVM04 JVM程序计数器(PC寄存器)
在JVM中程序执行的过程中,技术计数器起着控制程序下一步运行那一条指令,起着至关重要的作用,一切来了解了解JVM中的pc寄存器1. PC Register是什么?一张图表示PC寄存器在JVM的位置程序计数器是一块较小的内存空间,它可以看作是当前线程所执行字节码的行号指示器;JVM中的PC寄存器是对物理PC寄存器的一种抽象模拟;每个线程拥有自己的PC寄存器,生命周期与线程生命周期相同;PC存储当前线程正在执行方法的JVM指令地址,若是native方法,则是undefined;是程序控制流.
2021-06-29 19:15:20
118
原创 JVM03 JVM运行时数据区及线程
在java编译后的.class文件通过类加载子系统加载进入JVM运行时的数据区,接下来对JVM运行时数据区进行一个简要的概述;一、 JVM运行时数据区1. JVM运行时数据库结构如图框出来的为运行时数据区,包括方法区、堆、程序计数器、本地方法栈、虚拟机栈;运用时数据区在不同的JVM中结构不同,TaobaoVM的运行时数据区的结构2. 内存是什么?内存是非常重要的系统资源,是硬盘和CPU的中间仓库及桥梁,承载着操作系统和应用程序的实时运行;JVM内存布局规定了Java在运行过程中内.
2021-06-29 18:44:18
69
原创 JVM02 JVM 类加载子系统
02 JVM 类加载子系统在Java程序编译成.class文件中,想在JVM中运行,需将.class加载到JVM中的运行时数据区(方法区)中,这是JVM的类加载子系统就发挥了自己的作用;【问题:如何判断;两个对象是否相等?】【回答】首先要判断对象所属类的类加载器是否是一样,接下来再比较两个对象的地址是否相等;一、 JVM内存结构按照JVM的结构大致将JVM分为三层,其中类加载子系统属于最上面一层,是Java程序执行的开始;类加载器子系统运行时数据区执行引擎这三层详细的结构图如下:
2021-06-29 10:19:07
67
原创 JVM01 JVM与Java体系结构
学习尚硅谷以及深入理解Java虚拟机后,记下如下笔记,方便后续查看;01 JVM与Java体系结构一、Java程序的运行1. 常见的Java项目运行的结构体系JVM是Java程序运行的基石;2. 计算机运行程序的流程任何高级语言必须编译汇编成机器指令才能被计算机的CPU所执行;3. Java VS C++ 内存分配区别:Java自动垃圾回收;C++需要收到进行垃圾回收;二、 Java及JVM简介1. Java:跨平台的语言Java编译一次可以在任何平台进行运行.
2021-06-23 08:48:28
86
原创 MySQL学习笔记一:一条SQL查询语句是如何执行的?
学习MySQL过程的笔记记录下来,方便后续自己查阅和复习;【问题:select * from user where id = 1这条SQL语句在MySQL中是如何执行的呢】这篇笔记能很好地的解答这个问题。我们将拆解MySQL中的各个部件,加深自己对MySQL的理解;【答案:SQL语句经过连接器–>分析器–>优化器–>执行器–>存储引擎,获得查询结果】1. MySQL基础架构MySQL的基本架构示例图如下所示:MySQL主要分为两个部分:Server层、存储引擎.
2021-06-09 19:31:51
140
1
原创 JDBC核心技术七(CallableStatement)
JDBC技术的操作SQL存储过程的CallableStatement,今天来了解一下;一、 MySQL存储过程1、 什么是存储过程?存储过程(Store Procedure):是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象;存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过储存过程名+参数进行调用(可简单类比于Java中的函数);存储过程是SQL语言层面的代码封装与重用;存储过程与普通的SQL执行流程对比如下图所示:2、 存储
2021-05-26 19:29:31
2344
1
原创 JDBC核心技术六(数据库连接池)
数据库连接池的使用可以有效的管理和分配资源,实现资源的最大利用化,提高数据库操作的执行效率;1. 什么是数据库连接池数据库连接池负责分配、管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个;2. JDBC数据库连接池的必要性在开发基于数据库的web应用时,传统的模式基本是按一下步骤:在主程序(如servlet、beans) 中建立数据库连接;进行SQL操作断开数据库连接DriverManager管理的缺点:每次数据库的连接都需要将Connec.
2021-05-25 16:55:27
1277
原创 JDBC核心技术五 (数据库事务)
数据库事务是关系型数据库的核心组成,事务的ACID属性保证了数据的安全;1. 数据库事务介绍事务:一组逻辑操作单元,使数据从一种状态转换到另一种状态。事务处理(事务操作): 保证所有事务都作为一个工作单位来执行,即使出现故障,也不能改变这种执行方式(要么所有的事务操作都成功(提交),要么所有的事务操作失败(回滚));2. JDBC事务处理数据一旦提交,就不可回滚;数据什么时候意味着提交?一个连接对象Connection被创建时,默认情况下是自动提交事务:每次执行一个SQL语句时,如.
2021-05-25 16:11:54
218
原创 JDBC核心技术四(Blob字段和批量插入)
实际开发业务中可能会有数据库存储图片视频等(一般存放这些资源的URL)和批量插入操作,探讨一下如何采用JDBC实现;一、JDBC操作Blob类型字段1. MySQL BLOB类型MySQL中,BLOB是一个二进制大类型对象,可以存储大量数据的容器,容纳不同大小的数据。BLOB类型无法通过拼接字符串的SQL实现操作,必须得是PreparedStatement来进行操作;MySQL的四种BLOB类型:数据库中存入的文件过大,数据库的性能会下降(一般不直接存储大文件在数据库);如需存储大容量.
2021-05-25 11:38:39
183
原创 JDBC核心技术三(PreparedStatement)
JDBC获取数据库连接后,需要对数据集进行一系列操作来实现我们的业务逻辑,PreparedStatement就是能实现数据库CRUD的存在。一、操作和访问数据库1. 操作数据库的三种方式数据库连接被用于想数据库服务器发送命令和SQL语句,并接受数据库服务器返回的结果,(一个数据库连接就是一个Socket连接);java.sql包中有3个借口分别定义了对数据库的不同调用方式:Statement:用于执行静态 SQL 语句并返回它所生成结果的对象;PrepatedStatement:SQL .
2021-05-25 10:25:51
886
原创 JDBC核心技术二(获取数据库连接)
JDBC核心技术二(获取数据库连接)JDBC学习笔记第二遍,操作数据库首先得获取数据的连接才能进行接下来的操作,记录下如何获取数据的连接,皆为MySQL的例子;一、 要素一:Driver接口实现类1.1 Driver接口介绍java.sql.Driver接口:所有JDBC程序需要实现这个接口;/* * Copyright (c) 1996, 2013, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIE
2021-05-24 18:49:44
191
原创 JDBC核心技术一(概述)
JDBC核心技术一之前学习MyBatis时,对其中关于JDBC的部分不太理解,学习尚硅谷的学习视频之后,有所收获,记下此笔记,方便以后查阅,一、 JDBC概述1.1 数据持久化持久化:把数据保存到可掉电式存储设备中以供之后使用;持久化意味着将内存中的数据保存到硬盘上;实现方式:大多数持久化的实现过程通过各种关系数据库来完成;(也可以存储在磁盘、xml数据文件中)1.2 Java中的数据存储技术JDBC(Java Database Connectivity)直接访问数据库(sql语句
2021-05-21 15:46:20
282
2
原创 LeetCode38题: 外观数列
LeetCode38题: 外观数列目录题目描述解题思路最终代码目录题目描述给定一个正整数 n ,输出外观数列的第 n 项。「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。你可以将其视作是由递归公式定义的数字字符串序列:你可以将其视作是由递归公式定义的数字字符串序列:countAndSay(1) = "1"countAndSay(n) 是对 countAndSay(n-1) 的描述,然后转换成另一个数字字符串。前五项如下:1. 12. 11
2021-05-15 20:30:46
135
1
原创 HTTP笔记一:web和网络基础
HTTP协议学习笔记第一章 Web网络基础提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。学习HTTP,特此记录一下。提示:以下是本篇文章正文内容,下面案例可供参考一、HTTP协议是什么?HTTP协议..
2021-05-12 20:57:35
89
原创 猪八戒校招在线编程数串
猪八戒校招在线编程数串题目描述输入描述输出描述示例代码题目描述设有n个正整数,将他们连接成一排,组成一个最大的多位整数。如:n=3时,3个整数13,312,343,连成的最大整数为34331213。如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。输入描述有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不...
2019-04-03 17:04:06
230
原创 网易17年校招在线编程,数字翻转
题目描述:对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如:如果 X = 123,则rev(X) = 321;如果 X = 100,则rev(X) = 1.现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?import java.util.Scanner;public class Main { public static v...
2019-04-03 16:56:15
193
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人