- 博客(58)
- 资源 (3)
- 收藏
- 关注
原创 JVM知识点梳理
其中新生代又划分为eden区和Survivor区(默认eden区和Survivor区大小比例为八比一,Survivor区包含两个区域,一个叫“from”一个叫“to”),所有新new的对象都会先在eden区创建,当eden区堆积满了之后,做垃圾回收,会把还存在的对象放入Survivor,当Survivor经过多次垃圾回收,依旧存在的对象就会进入老年代(默认操作15次)。程序计数器记录每个线程中执行的位置,当它遇到没见过的类时候,就会跑去对该类进行加载,将类的方法名,成员变量,注解等信息存储到方法区中。
2023-06-20 00:05:30 637
原创 23种设计模式之创建型模式(单例、工厂方法、抽象工厂、生成器和原型模式)
概述设计模式是针对某一类问题的最优解决方案,是从许多优秀的软件系统中总结出的。Java中设计模式(java design patterns)通常有23种。模式可以分成3类:创建型、行为型和结构型。创建型模式创建型模式涉及对象的实例化,特点是不让用户代码依赖于对象的创建或排列方式,避免用户直接使用new创建对象。创建型模式有以下5个:工厂方法模式、抽象工厂方法模式、生成器模式、原型模式和单例模式。行为型模式...
2021-06-24 23:39:27 766 2
原创 sourceTree使用
下载网址:https://www.sourcetreeapp.com/这个软件,是我在解git冲突时,解崩master之后尝试使用的软件。首先讲述一下我解崩master 的经历。当时改完代码,使用快捷键格式了一下代码。然后上到远程仓库的时候出现了冲突,但是就在WEB UI上直接解。不知道是操作有问题还是怎样,合上去的代码,不仅有漏掉“try{”的情况,而且它直接把master的代码合回了我本地的分支,导致两边的代码都受到了污染。于是我找到了sourceTree,对于我的使用经历来讲,当上代.
2021-05-14 17:10:22 309
原创 how to make a good presentation
這篇文章嘗試把這些思考整理下來,完全從我個人的經驗出發,輕鬆、非正式地談一談我認為「how to make a good presentation」,如何作一個好的口頭報告。1. 基本的態度在談口頭報告「技巧」之前,我認為對於口頭報告有幾個基本的態度必須要建立。口頭報告是一個要好好把握、難得的機會,而不是一件緊張又恐怖的事對大部分人來說,坐在台下聽的機會,遠遠比站在台上說的機會多,也因此許多人被要求作口頭報告時,往往會有比較緊張,甚至有些抗拒。然而從另一個角度想, 每次都是坐在台下聽別人講(
2021-05-14 15:51:46 517
原创 304. 二维区域和检索 - 矩阵不可变
给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1,col1) ,右下角为 (row2,col2) 。上图子矩阵左上角(row1, col1) = (2, 1),右下角(row2, col2) = (4, 3),该子矩形内元素的总和为 8。示例:给定 matrix = [ [3, 0, 1, 4, 2], [5, 6, 3, 2, 1], [1, 2, 0, 1, 5], [4, 1, 0, 1, 7], [1, 0, 3, 0, ...
2021-03-02 10:54:16 115
原创 1759.统计同构子字符串的数目
给你一个字符串 s ,返回 s 中 同构子字符串 的数目。由于答案可能很大,只需返回对 109 + 7 取余 后的结果。同构字符串 的定义为:如果一个字符串中的所有字符都相同,那么该字符串就是同构字符串。子字符串 是字符串中的一个连续字符序列。示例 1:输入:s = "abbcccaa"输出:13解释:同构子字符串如下所列:"a" 出现 3 次。"aa" 出现 1 次。"b" 出现 2 次。"bb" 出现 1 次。"c" 出现 3 次。"cc" 出现...
2021-02-25 15:37:06 164
原创 867. 转置矩阵
给你一个二维整数数组 matrix,返回 matrix 的 转置矩阵 。矩阵的 转置 是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:matrix = [[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]示例 2:输入:matrix = [[1,2,3],[4,5,6]]输出:[[1,4],[2,5],[3,6]]public class test{ public static int[...
2021-02-25 11:25:36 132 1
原创 832. 翻转图像
给定一个二进制矩阵A,我们想先水平翻转图像,然后反转图像并返回结果。水平翻转图片就是将图片的每一行都进行翻转,即逆序。例如,水平翻转[1, 1, 0]的结果是[0, 1, 1]。反转图片的意思是图片中的0全部被1替换,1全部被0替换。例如,反转[0, 1, 1]的结果是[1, 0, 0]。示例 1:输入:[[1,1,0],[1,0,1],[0,0,0]]输出:[[1,0,0],[0,1,0],[1,1,1]]解释:首先翻转每一行: [[0,1,1],...
2021-02-24 14:16:31 102
原创 1052. 爱生气的书店老板
今天,书店老板有一家店打算试营业customers.length分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己的情绪,可以让自己连续X 分钟不生气,但却只能使用一次。请你返回这一天营业下来,最多有多少客...
2021-02-24 13:49:23 110
转载 数据库相关
目录 第一章 数据库概述 1.1、数据库的好处 1.2、数据库的常见概念 1.3、数据库的存储特点 1.4、数据库的常见分类 1.5、SQL语言的分类 第二章 MySQL概述 2.1、MySQL的背景 2.2、MySQL的优点 2.3、MySQL的安装 2.4、MySQL的启动 2.5、MySQL的停止 2.6、MySQL的登录 2.7、MySQL的退出 第三章 DQL语言 3.1、基础查询
2021-02-04 11:42:47 916
转载 linux相关内容
目录 第一章 Linux的概述 1.1、Linux的概述 1.2、Linux的历史 1.3、Linux的版本 1.4、Linux的产品 第二章 Linux的安装 2.1、安装虚拟机 2.2、安装操作系统 2.3、安装连接工具 第三章 文件管理 3.1、目录结构 3.2、切换目录 3.3、创建目录 3.4、查看目录 3.5、复制目录 3.6、剪切目录 3.7、删除目录 3.8、创建文
2021-02-04 09:48:55 165
转载 锁相关概念
首先需要知道几个名词(及简易解释):公平锁/非公平锁(就是否按照申请锁的顺序而言) 可重入锁(获得进入“大门”的权限后,要相应获取进入“大厅”的权限) 独享锁/共享锁(就线程允许同时访问的个数而言) 互斥锁/读写锁(锁共享独享的具体实现) 乐观锁/悲观锁(判断操作是否安全) 分段锁 偏向锁/轻量级锁/重量级锁(单个线程多次获取同一资源且不产生竞争/多个线程对同一个资源产生竞争时,未获取到资源的线程自旋等待资源释放/自旋时间过长导致阻塞) 自旋锁(线程通过重复获取锁来取代阻塞线程,来达到及时
2021-02-02 16:05:57 154 2
转载 git和idea
1、在IDEA中将代码提交到本地仓库(1)先在IDEA中新建一个工程(2)配置IDEA:(3)创建本地仓库:选择IDEA中该项目的目录作为本地仓库即可:选YES:(4)提交代码到本地仓库:(5)将修改后的代码提交到本地仓库:(6)查看版本信息:2、在IDEA中将代码提交到远程仓库(1)选择push:(2)选择HTTPS方式:(3)将链接复制到IDEA...
2021-01-26 10:53:11 557 1
转载 单机结构、集群和分布式概念理解
作者:大闲人柴毛毛链接:https://www.zhihu.com/question/20004877/answer/282033178来源:知乎单机结构我想大家最最最熟悉的就是单机结构,一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。那么,单机结构有啥缺点呢?我想缺点是显而易见的,单机的处理能力毕竟是有限的,当你的业务增长到一定程度的时候,单机的硬件资源将无法满足你的业务需求。此时便出
2021-01-25 10:26:51 202
原创 nifi基本操作以及进行简单的MQTT测试
基本操作:产生自己的画板后双击进入,之后创建新的ProcessGroup粗体内容必须填写,非粗的可以选择填或者不填
2020-12-22 09:44:40 1180
原创 kafka基础以及相关cmd操作
kafka:基于发布订阅模式(一对多)消息队列:解耦,提高通信效率同步异步启动kafka时出现修改第179行,将里面的%classPath%修改为"%classPath"即可cmd code,下面有截取相关的界面# start zookeeper service (port: 2181)bin\windows\zookeeper-server-start.bat config\zookeeper.properties# start kafka brok..
2020-12-21 11:14:50 358
原创 购物车项目实现过程
一、需求分析 前台 商品展示: 所有商品、今日团购、明日预告、热销推荐、最新上架、今日促销 展示分类: 大分类 小分类 母婴资讯: 展示母婴相关的信息 关于我们:...
2020-12-16 13:08:08 1792 3
原创 redis基本操作
1.//新增一个名为foo的String ,value为 barset foo "bar"//查询fooget foo 2. //新增一个名为bar的String ,value为337set bar 337//名为bar的String ,value为自增长1000incrby bar 10003.//批量get 名为foo和bar的值mget foo bar4.//设置名为foo的String 有效期为1秒(过期后foo会自动删除)expire foo 1...
2020-11-26 15:52:32 275
原创 MyBatis框架的参与执行对象
mybatis-config.xml:该配置文件是MyBatis的全局配置文件,在这个文件中可以配置诸多项目,但是一般项目中,并不会配置太多内容,常用的内容是别名设置,拦截器设置等,至于环境设置与Mapper映射文件的注册会转移到Spring配置文件中(SSM整合之后),而其余大部分的配置项都采用默认的配置。XMLConfigBuilder:该类是XML配置构建者类,是用来通过XML配置文件来构建Configuration对象实例,构建的过程就是解析mybatis-config.xml配置文
2020-10-10 12:03:40 141
原创 JavaWeb中使用验证码登录的功能实现
在日常生活使用App或者浏览网页什么的,经常需要我们去进行登录验证身份,可选择的登录方式有很多,在此讲解一下使用手机验证码登录的大致逻辑和部分实现。思路:首先,我们必须使用到登录相关的界面(在此使用layui做一个简单的登录界面)齐次,获取验证码(本文内的电话全使用一个随机的号码测试)之后,我们需要进行相应的逻辑功能实现(有的在前端界面就可以实现,有点需要使用到后端程序)最后,当验证码正确时,允许登录,并通过手机号码从数据库查询用户信息用于用户的其他界面的操作。1.简单的前端界面
2020-09-19 09:50:54 3113 1
原创 jQuery
jQuery① 概念jQuery是一个javascript的框架,是对javascript的一种封装。 使用前一定要引入外部的jquery.js文件<script src="./js/jquery3.4.1.js" type="text/javascript" charset="utf-8"></script>注意:路径问题② 理解 $(function(){})$(function(){}); 表示文档加载。其实是由下面两种构成: $(); 和 functi
2020-09-07 10:21:27 257
原创 反射
什么是反射?Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。反射是一种动态获取对象调用的一种机制,对java语言灵活性发挥很大。 作用: 能够在程序运行时判断任意一个对象所属哪个类,获取该类的属性、方法、构造方法并在任意的时刻调用属性方法。很多框架底层...
2020-09-03 19:45:27 192 1
原创 购物车页面布局新手级别理解和解析
在经过简单的前端学习后,迎来了本次的作业,于是打算记录一下。1.前端视图由于一张截图截不下,于是分成两张截2.大致分析首先大致分析导航栏部分内容。可以按照排版分析它的块分布,每个人分块不同无所谓,能大致实现模仿即可。这次作业我将导航栏分为三行,大图片分为一行,表单标题分一行,购物车列表每件一行,结算一行,如下图。3.拆开每一级分析细节,并设置CSS样式1>首页导航栏分析:内部分为两块的原因是因为两块内部元素的距离相隔太远,与其慢慢控.
2020-09-02 16:23:05 1515
原创 Template-Web基本概念
art-template模板渲染HTML该方法的核心思想就是将json数据传入按照art-template模板编写模板中去。1> 引入js文件 <script src="./js/template-web.js" type="text/javascript" charset="utf-8"></script>2> 准备json对象 例如: var obj1 = {teams:[]}; 要求:后台服务器fastjson帮助我们将需要展示的数据
2020-08-31 10:51:20 759
原创 AJAX基本概念
1> 概念 通过AJAX Asynchronous JavaScript And XML 实现异步刷新2> 案例:检测用户名是否存在<span>输入账号 :</span><input id="uname" name="uname" onkeyup="check()" type="text"> <span id="checkResult"></span> //使用AJAX 通过无刷新验证账号是否存在 var x
2020-08-31 10:50:49 133
原创 DOM基本概念
获取元素节点var 变量名=document.getElementById("id的属性值");...var 变量名=document.querySelector("选择器");var 数组名=document.querySelectorAll("选择器");元素上的属性 <div id="d1">hello HTML DOM</div> 元素上的属性,比如id,value 可以通过 . 直接访问 如果是自定义属性,那么可以通过如下两种.
2020-08-31 10:50:18 303
原创 BOM基本概念
BOM即 浏览器对象模型(Browser Object Model)浏览器对象包括Window(窗口) // 浏览器窗口的高度和宽度:(不包括工具栏/滚动条) var w=window.innerWidth; var h=window.innerHeight; console.info(w+","+h); var w2=window.outerWidth; var h2=window.outerHeight; console.info(w2+","+h2);.
2020-08-31 10:49:49 293
原创 JSON基本概念
1> 概念 JSON JavaScript 对象表示法(JavaScript Object Notation) 是一种存储数据的方式。2> 创建JSON对象 var user = {"uname":"admin","upwd":123456}; 这样就创建了一个JSON 对象 JSON对象由 名称/值对组成 名称和值之间用冒号:隔开 名称必须用双引号" 包含起来 值可以是任意javascript数据类型,字符串,布尔,数字 ,数组甚至是对象 不同的名称/
2020-08-31 10:48:41 152
原创 JavaScript基本概念
1> 定义变量 var 变量名=值;2> 数据类型 字符串(string) 数字(number) 布尔(boolean) 数组(array) var a1=new Array(5); //5length var a2=new Array(1,2,3,4); var a3=[1,2,3,4]; 对象(object) var dog={name:'土狗',age:2}; 空(null) 未定义(undefined)3> typeof 关键字
2020-08-31 10:47:56 86
原创 CSS基本概念
1> CSS网页布局: 1.固定布局 2.流动布局 (是百分百布局) 3.弹性布局(可用于移动APP开发)2> 定位 1.相对定位(占位置) 2.绝对定位(不占位置) 3.固定定位 (不占位置) 4.使用弹性盒子,让子元素绝对居中很好用 相对定位和绝对定位使用较多, 并且两者可以混合使用, 一般是将绝对定位套进相对定位中使用, 即给父元素使用相对定位,给子元素使用绝对定位。3> 悬停伪类 用属性:
2020-08-31 10:47:13 277
原创 HTML基本概念
1> HTML概念 HTML是Hyper Text Markup Language 超文本标记语言 的缩写 HTML是由一套标记标签 (markup tag)组成,通常就叫标签 标签由开始标签和结束标签组成 <p> 这是一个开始标签 </p> 这是一个结束标签 <p> Hello World </p> 标签之间的文本叫做内容2> 中文乱码问题可以在浏览器上设置编码方式为utf-8 <hea
2020-08-31 10:44:17 1038
原创 前端小案例(留言板)
便利贴小案例代码(html+css+js):<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>留言墙</title> <!-- 步骤2:写样式 --> <style type="text/css"> * { margin: 0; padding: 0; } body { .
2020-08-26 22:26:49 927 2
原创 底层代码逻辑模拟(线程池、BeanHandler、QueryRunner类)
在使用别人的框架时,框架中会有很多符合我们需求的方法,一般情况下我们只用熟练掌握如何使用即可,对于框架而言,万变不离其宗,我们如果了解底层的运行逻辑,不仅可以加深我们对框架使用的理解,也能在我们自身拥有封装搭建框架时完善自身的框架。于是我打算保存一些简易化的底层代码实现,以便日后回顾和优化。线程池简易模拟:package com.util.Connection;import java.sql.Connection;import java.sql.DriverManager;impo.
2020-08-18 22:41:38 582
原创 JDBC以及事务处理
什么叫JDBC?Java DataBase Connectity(java数据库连接)操作数据库步骤1.注册驱动class.forname("com.mysql.jdbc.Driver")2.连接数据库//格式:协议+:+连接的数据库+://+IP地址+:+端口号+/+数据库名+?+时区+&+使用Unicode编码+&+字符集Connection conn=DriverManager.getConnection("jdbc:mysql://localhost:3.
2020-08-17 00:03:31 119 1
原创 数据库基本操作(大多使用例子来解释操作命令)
在开始介绍数据库基本操作之前,我们需要了解什么是数据库。数据库是按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。简单的说,数据库就是存储数据的仓库,它的作用就是存储数据,因此,我们操作数据库实质是想要操作数据库的数据。因此对数据库的操作实质就是对数据库进行增删改查数据。-- 创建数据库CREATE DATABASE company;-- 进入数据库use company;-- 创建数据库中的表一 officesC.
2020-08-11 22:35:29 1179
原创 网络编程--手写简易聊天室
在进行聊天室编写之前,我们需要对聊天室的思想逻辑进行了解:首先我们需要一个服务器和一个客户端进行连接。之后想要让服务器接收到客户端的接口就需要使用到IO流,客户端是输出流,服务器是输入流使用客户端连接服务器并让服务器接收到一条消息服务器:package com.tcp;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.Inpu.
2020-08-11 22:13:39 340
原创 多线程基础例题
通常使用锁方法(Synchronized修饰方法)、锁代码块(Synchronized块)、信号量(Semaphore)、Lock锁1、要求线程a执行完才开始线程b, 线程b执行完才开始主线程思路:由题意可知会有两条副线程a和b,编写好a,b的内容后,在主线程中启动两个线程。关键点在于,一旦开启线程,线程的执行完全是由各自抢占cpu的能力而定,是人为不可控的,为了实现题目中的要求,我们需要在b线程中添加a.join()语句,便可以实现即使由b抢占到了cpu使用权,依旧会等a执行完,同样的方.
2020-08-05 20:16:58 1208
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人