- 博客(126)
- 收藏
- 关注
原创 MySQL表的增删改查(进阶)
文章目录新增查询(聚合查询)聚合函数:在where后面,不要出现聚合函数。COUNT:返回查询到的数据的数量SUM:返回查询到的数据的总和,不是数字没有意义AVG:返回查询到的数据的平均值,不是数字没有意义MAX:返回查询到的数据的最大值,不是数字没有意义MIN:返回查询到的数据的最小值,不是数字没有意义分组:GROUP BYhaving:过滤条件新增插入查询结果语法:INSERT INTO table_name [(column [, column ...])] SELECT案例:创建一张用户
2021-06-04 15:37:59
455
1
原创 JVM终篇
回顾:JVM组成:1.堆(创建的所有对象)新生代/老生代老年代中的对象:大对象,新生代经过一定GC之后(默认15次)还存活的对象新生代(复制算法)新生代区域划分:Eden:80%内存、S0:10%内存,S1:10%内存新生代内存利用率可达到90%(Eden+S0或Eden+S1)2.Java虚拟机栈a)本地变量(8大初级类型和对象引用)b)操作栈c)动态链接:运行常量池的引用d)方法返回:PC寄存器的地址3.本地方法栈作用和Java虚拟机栈相似,只不过他是本地方法4.程序计数器
2021-06-03 20:09:36
266
原创 最难的问题,因子个数
*~最难的问题NowCoder生活在一个充满危险和阴谋的年代。为了生存,他发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提供给你的将军。消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都 替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。密码字母:A B C D E F G H I J K L M N O P Q
2021-06-03 11:51:35
101
原创 最难的问题,因子个数
最难的问题NowCoder生活在充满危险和阴谋的年代。为了生存,他首次发明了密码,用于军队的消息传递。假设你是军团中的一名军官,需要把发送来的消息破译出来、并提供给你的将军。 消息加密的办法是:对消息原文中的每个字母,分别用该字母之后的第5个字母替换(例如:消息原文中的每个字母A都分别替换成字母F),其他字符不 变,并且消息原文的所有字母都是大写的。密码中的字母与原文中的字母对应关系如下。密码字母:A B C D E F G H I J K L M N O P Q
2021-06-03 11:48:52
142
原创 maven
Servlet:它是一个框架(帮助后端工程师开发Java API的框架)。想要真正掌握并不容易:学习的难度并不在于代码,而在于配置。配置多、配置很容易出错。Tomcat:用来运行Servlet 项目。WebApp:笼统的理解就是一个网站。Servlet依靠Maven构建的。Maven整个Java里面最容易出错的一个点。什么是mavenMaven:是一个项目管理工具。-用来管理外部依赖(项目中使用的外jar)-可以使用Maven 打包项目。-将项目进行部署。maven 的作用maven
2021-06-02 20:40:03
105
原创 有假币,求正数数组的最小不可组成和
有假币题目描述:居然有假币!现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。输入描述: 1≤n≤2^30,输入0结束程序。输出描述: 最多要称几次一定能把那个假币找出来?题解:要找到一堆货币中的假币,最快的方式是分3堆,使用其中两堆称重即可:假币比真
2021-06-02 17:27:52
194
原创 表的设计*
一对一一个人拥有一张身份证,一张身份证只被一个人拥有一对多一个班级拥有多个学生,一个学生只属于一个班级多对多学生 和 课程的关系: 1个学生 可以学习多门课程。 1个课程 可以被多个学生学习。有一个问题:不管在那张表里面写另一张表的ID 都是不合适的。 所以有了中间表。来处理这个对应关系。//创建学生表drop table if exists student;create table sttudent(id int primary key auto_increment,sn i
2021-06-02 16:28:32
154
原创 奇数位上都是奇数或者偶数位上都是偶数,猴子分桃
题目:奇数位上都是奇数或者偶数位上都是偶数题目描述:给定一个长度不小于2的数组arr。 写一个函数调整arr,使arr中要么所有的偶数位上都是偶数,要么所有的奇数位上都是奇数上。要求:如果数组长度为N,时间复杂度请达到O(N),额外空间复杂度请达到O(1),下标0,2,4,6…算作偶数位,下标1,3,5,7…算作奇数位,例如[1,2,3,4]调整为[2,1,4,3]即可题解:(1)循环遍历arr数组:如果m及n没有到数组最后,遍历数组(2)偶数位m从0往后遍历数组,如果arr[m]是偶数,
2021-06-01 20:15:10
246
原创 数据库约束
文章目录数据库约束约束类型:NULL约束UNIQUE :唯一约束DEFAULT:默认值约束PRIMARY KEY:主键约束外键约束CHECK约束两张表的各种操作数据库约束约束类型:NOT NULL - 指示某列不能存储 NULL 值。UNIQUE - 保证某列的每行必须有唯一的值。DEFAULT - 规定没有给列赋值时的默认值。PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。FO
2021-06-01 15:48:48
134
原创 不用加减乘除做加法,三角形
题目:不用加减乘除做加法题目描述:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。题解:1.二进制位相异或的结果就是两个数对应位相加的结果,不考虑进位2.二进制与后左移一位的结果,就是两个数相加进位后的结果两个数相加,如果不考虑进位,那么这两个数异或的值就是这两个数的和public class Solution { public int Add(int num1,int num2) { while(num2!=0){
2021-05-31 14:17:20
115
原创 JVM布局及类加载机制
文章目录JVM:Java虚拟机Java内存布局(HotSpot)堆划分:新生代区域划分:为什么大对象会直接进入老年代?JVM内存布局小结:JVM类加载机制(Class Loading)JVM双亲委派模型双亲委派模型优点:破坏双亲委派模型的场景:垃圾回收1.判别死亡对象(垃圾)垃圾回收算法垃圾回收器JVM:1.JVM组成(5个部分)2.类加载机制(JVM加载)双亲委派模型,破坏双亲委派模型的3个场景3.垃圾回收 a)判断什么是垃圾回收? &n
2021-05-30 22:17:41
138
原创 变态跳台阶,快到碗里来
题目:变态跳台阶题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。题解:每一个台阶只可能有两种情况:跳,不跳可以把台阶当成一个n位的二进制数,每一位代表一个台阶,1表示跳,0表示不跳因为最终要跳上最后一个台阶,所有最后一个台阶是必须要跳的,也就是1求总共有多少种跳法就是求0到n-1位二进制数的最大值也就是一共有2^(n-1)种跳法public class Solution { public int jump
2021-05-30 21:27:05
126
原创 双亲委派模型及垃圾回收
文章目录JUC1.ReentrantLock2.信号量3.计数器:CountDownLauthCountDownLauth是如何实现的?CountDownLauth缺点4.循环屏障(循环栅栏):CyclicBarrier循环屏障的使用:CyclicBarrier和CountDownLatch区别?HashMapHashMap线程安全方案ConcurrentHashMapHashtable:线程安全的容器HashMap,ConcurrentHashMap,Hashtable区别?JUC1.Reentran
2021-05-30 12:16:31
165
原创 测试分类*
文章目录测试分类按开发阶段划分单元测试集成测试系统测试回归测试测试分类按开发阶段划分测试金字塔与业务测试分析测试金字塔模型(1)从下到上三层测试,投入相同的时间,人力资源等,回报率(产出)越来越低(2)从下到上,测试的效率越来越低(3)从下到上,定位问题越来越难SDK,全称:SoftWare DeveLopment Kit,一般是指软件工程师特定的软件包建立的开发工具集合。ROI:投入产出比单元测试单元测试是对软件组成单元进行测试。其目的是检验软件基本组成单位的正确性。测试的对象是
2021-05-29 21:24:35
806
6
原创 树根,星际密码
题目:数根数根可以通过把一个数的各个位上的数字加起来得到。如果得到的数是一位数,那么这个数就是数根;如果结果是两位数或者包括更多位的数字,那么再把这些数字加起来。如此进行下去,直到得到是一位数为止。比如,对于24 来说,把2 和4 相加得到6,由于6 是一位数,因此6 是24 的数根。 再比如39,把3 和9 加起来得到12,由于12不是一位数,因此还得把1 和2 加起来,最后得到3,这是一个一位数,因此3 是39 的数根。 现在给你一个正整数,输出它的数根。输入描述: 输入包含多组数据。每组数
2021-05-29 18:26:27
271
原创 多线程高阶
文章目录回顾:乐观锁乐观锁的缺点:CAS:(Compare and swap 比较并且交换)CAS底层实现原理?CAS缺点:乐观锁的实现:Atomic*多线程乐观锁的执行流程悲观锁悲观锁缺点:怎么理解乐观锁和悲观锁,具体怎么实现?共享锁 /非共享锁(独占锁)读写锁公平锁 /非公平锁自旋锁:可重入锁synchronized 锁优化回顾:ThreadLocal缺点:1.不可继承性(不能实现父子线程间的数据传递)2.脏数据---->ThreadLocal +线程池(复用)线程的复用会复用线程相关的静
2021-05-29 10:00:53
198
1
原创 手机APP常见功能点测试
01安装和卸载应用的安装和卸载在任何一款APP中都属于最基本功能。一旦出错,就属于优先级为紧要Critical的缺陷。因此APP的安装和卸载应作为一个测试点多加重视。主要关注以下几个方面:▲ 应用是否可以正常安装(命令行安装(测试人员);豌豆荚/手机助手,应用商店等第三方软件安装;apk/ipa安装包安装)▲ 应用是否可以在iOS和Android不同系统,版本,机型上进行安装(有的系统版本过低,应用不能适配)(安装兼容性的测试)▲ 安装过程中是否能暂停,再次点击,是否继续安装▲ 安装空间不足时如何
2021-05-29 09:25:47
385
2
原创 年终奖,迷宫问题
题目:年终奖题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值,左上角为[0,0],请返回能获得的最大价值,保证每个礼物价值大于100小于1000。题解:问
2021-05-27 15:09:05
234
原创 多线程学习9
文章目录回顾:hashmap和ThreadLocalMap区别:Java引用类型4种类型:为什么将ThreadLocal中的key设置为弱引用?解决Thread Local的内存溢出?饿汉方式:上来直接创建对象懒汉方式自定义阻塞队列:回顾:ThreadLocal使用方法1.set(T) : 将变量存放到线程中2.get() : 从线程中取得私有变量3.remove() : 从线程中移除私有变量(脏读,内存溢出)在任何场景下都有意义4.initialValue:初始化5.withinitialV
2021-05-26 17:24:04
103
原创 tomcat
Tomcat作用是用来发布前端站点或者是后端程序的。tomcat的使用1.打F Tomat官网,选择要下载的版本2.找到相应的下载包,进行下载3.使用解压工具将tomcat.zip解压出来目录说明Tomcat存在问题:Java环境没有装好,双击startup. bat一闪而过404, 启动tomcat过程中报错了(8080端口被占用)1.别用的应用把8080占;2.非法关闭tomcat/ idea之后,有可能出现404.修改端口号 将8080 修改为其他端口号解
2021-05-25 13:27:16
1211
原创 微信红包,计算字符串的距离
题目描述春节期间小明使用微信收到很多个红包,非常开心。在查看领取红包记录时发现,某个红包金额出现的次数超过了红包总数的一半。请帮小明找到该红包金额。写出具体算法思路和代码实现,要求算法尽可能高效。给定一个红包的金额数组gifts及它的大小n,请返回所求红包的金额。若没有金额超过总数的一半,返回0。题解:本题两种思路,第一种排序思路,如果一个数出现次数超过一半了,排序过后,必然排在中间则最后遍历整个数组查看是否符合即可。第二种思路可以用map统计每个数字出现的次数,最后判断有没有超过一半的数字。
2021-05-24 21:04:10
127
原创 多线程 八
线程不安全的解决方案:1.CPU抢占式执行【不可行】2.加锁(synchronized,Lock)3.私有变量(ThreadLocal 线程本地变量)ThreadLocal线程级别的私有变量,任务级别的私有变量是完全不同线程池:10 任务数:1000任务级别的私有变量:创建1000个私有变量ThreadLocal私有变量:创建10个私有变量。需求1:使用最高效的方式实现2个Date(时间类型)的格式化?public class ThreadPoolMain64 { public s
2021-05-23 22:48:40
128
原创 多线程七(线程池二)
文章目录线程:线程池的优点线程池7种创建方式:方法七:原始创建线程池的方法ThreadPoolExecutor参数:线程池拒绝策略:自定义拒绝策略+JDK四种策略1默认拒绝策略,不执行任务,抛出异常标题2.使用调用者线程来执行任务(使用主线程来执行任务)3.忽略最新任务(不会报错)4.忽略老任务线程池执行流程线程池的两种执行方式:execute和submit的区别线程池的关闭:线程池的状态:总结重点:线程:1.线程创建需要开辟一定的内存空间(本地方法栈,虚拟栈,程序计数器)性能开销。2.当任务量比较大
2021-05-23 19:53:51
370
原创 数据库小练习
文章目录-- 查询英语不及格的同学及英语成绩 ( < 60 )-- 查询语文成绩好于英语成绩的同学-- 查询总分在 200 分以下的同学-- 查询语文成绩大于80分,且英语成绩大于80分的同学-- 查询语文成绩在 [80, 90] 分的同学及语文成绩--查询数学成绩是 58 或者 59 或者 98 或者 99 分的同学 及数学成绩-- 查询 qq_mail 已知的同学姓名DROP TABLE IF EXISTS exam_result2; CREATE TABLE exam_result2 (
2021-05-22 20:48:10
121
2
原创 牛客 找出字符串中第一个只出现一次的字符,小易的升级之路
找出字符串中第一个只出现一次的字符题目描述 找出字符串中第一个只出现一次的字符输入描述:输入几个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1题解:可以用map统计每个数字出现的次数,如果出现一次输出即可 import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in);
2021-05-22 16:24:29
194
原创 数据库查询操作基础
文章目录where条件查询查询存在NULL的数据不等于运算符两者之间:或为NULL不为NULL模糊匹配:LIKE模糊匹配: %模糊匹配:_NOT分页查询Limit为什么要分页?原理:where条件查询例子:-- 查询数学成绩大于80分的 同学的个人信息及数学成绩select id,name,math from exam_result where math>80;例:–查询数学成绩大于80分的 同学的个人信息及数学成绩, 然后根据数学成绩升序排序select id,name,math fr
2021-05-21 15:22:16
973
原创 MySQL的操作表CURD(基础)
文章目录插入-- 单行全列插入-- 指定列,多行插入查询-- 全列查询-- 查询指定列--查询每个同学的总分--查询同学各门成绩,依次按 数学降序,英语升序,语文 升序的方式显示where条件查询-- 查询数学成绩大于80分的 同学的个人信息及数学成绩-- 查询数学成绩大于80分的 同学的个人信息及数学成绩, 然后根据数学成绩升序排序-- 查询数学成绩等于98分的同学及个人信息查询存在NULL的数据去重 distinct-- 查询所有人的数学成绩-- 去重排序--从低到高排序--从高到低排序--关键字建表:
2021-05-20 21:26:15
383
原创 洗牌,MP3光标位置
洗牌题目描述 洗牌在生活中十分常见,现在需要写一个程序模拟洗牌的过程。现在需要洗2n张牌,从上到下依次是第1张,第2张,第3张一直到第2n张。首先,我们把这2n张牌分成两堆,左手拿着第1张到第n张(上半堆),右手拿着第n+1张到第2n张(下半堆)。接着就开始洗牌的过程,先放下右手的最后一张牌,再放下左手的最后一张牌,接着放下右手的倒数第二张牌,再放下左手的倒数第二张牌,直到最后放下左手的第一张牌。接着把牌合并起来就可以了。例如有6张牌,最开始牌的序列是1,2,3,4,5,6。首先分成两组,左手拿着1
2021-05-20 20:23:11
91
原创 多线程六(线程池一)
文章目录线程的缺点:线程池:线程池里面包含的重要内容(2个):线程池的创建方式(7种)第一种:创建固定个数的线程池方法二:创建带缓存的线程池方法三:创建可以执行定时任务的线程池scheduleAtFixedRate 和cheduleWithFixedDelay的区别:方法四:创建单个执行定时任务的线程池方法五:单个线程的线程池方法六(JDK 8+):根据当前工作环境(CPU核心数,任务量)异步线程池回顾:线程:------三种创建线程的方式------线程的常用方法------线程的分类----
2021-05-20 15:14:10
149
1
原创 初识MySQL
什么是MYSQLMYSQL数据库。数据库:存储数据的一种服务器client:1、MySQL自带的2、cmd 配置环境变量3、工具 Navicat数据库 和 数据结构 有什么区别?数据结构一门学科 数据库是一个软件,数据库底层也用到了数据结构,且 很依赖于这个数据结构。数据库的优点文件保存数据有以下几个缺点:文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便文件存储的缺点就是数据库的优点数据库的分类数据库大体可以分为 关系型数据库 和 非关
2021-05-19 16:05:40
137
原创 web聊天室2
张三要发消息给李四实现:(1)客户端点到点发消息(2)服务器转发消息1,张三发小消息给服务器2,服务器发消息给李四 使用http协议是不行的 (服务器的ip是开发在公网,所有人能访问,客户端的IP不开放,服务端不知道)websocket实现的消息推送流程(1)客户端和服务端建立连接 只能客户端发起请求建立,双方建立连接客户端js代码new websocket:双方建立连接(双方通知打开连接的回调函数执行)(2)双方通信都是全双工,客户端和服务端既可以发消息,也可以收消息客户端发送消息
2021-05-19 11:39:54
145
1
原创 公共子串的计算,字符串反转
题目:公共子串的计算题目描述 给定两个只包含小写字母的字符串,计算两个字符串的最大公共子串的长度。注:子串的定义指一个字符串删掉其部分前缀和后缀(也可以不删)后形成的字符串。输入描述: 输入两个只包含小写字母的字符串输出描述: 输出一个整数,代表最大公共子串的长度import java.util.*;public class Main{ public static int getMaxLen(String str1,String str2){ char[] arr1=
2021-05-18 20:12:06
231
原创 web聊天室
软件生命周期:1业务人员提需求2 产品经理出产品(线框图,原型图)3系统设计4开发5设计6部署了解业务在线聊天室1.登录:同一个浏览器,即便多个标签页,保持相同的SessionSession概念:会话(登陆后,注销前或超时前,都是一个会话)Session作用:解决未登录敏感资源的访问问题(更安全)代码实现:登陆时:账号密码验证通过后request.getSession()://true登录之后,都可以获取到Session对象同一个网页,登录可以看到用户信息,不登录看
2021-05-17 22:38:00
430
原创 汽水瓶,查找两个字符串a,b中的最长公共子串
题目:汽水瓶题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入描述:输入文件最多包含10组测试数据,每个数据占一行,仅包含一个正整数n(1<=n<=
2021-05-17 17:53:15
86
原创 统计每个月兔子的总数,字符串通配符
题目:统计每个月兔子的总数题目描述有一只兔子,从出生后第3个月起每个月都生一只兔子,小兔子长到第三个月后每个月又生一只兔子,假如兔子都不死,问每个月的兔子总数为多少?本题有多组数据。输入描述: 输入int型表示month输出描述: 输出兔子总数int型import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan=new Scanner(Syste
2021-05-15 16:55:36
141
原创 整数加法,杨辉三角形的变形
题目:整数加法请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error输入描述: 输入为一行,包含两个字符串,字符串的长度在[1,100]。输出描述: 输出为一行。合法情况输出相加结果,非法情况输出errorimport java.util.*;public class Main{ public static void main(String[] args){ Scanner scan=new Scanner(System.in);
2021-05-15 13:39:09
183
原创 扑克牌大小,完全数计算
引IT 行业更重要的是技术面. HR 面只是最后一道把关, 检查这个应聘者是否存在一些 “致命缺陷”.所以整体的面试过程, 大家要保持不卑不亢, 淡定从容, 条理清晰, 沉着稳健, 就不会有太大的问题的.有没有男/女朋友这是一道送命题不管是不是真的有男女朋友, 统一回答 “没有”.一旦回答有, 分分钟被 HR 问死.例如:我们工作地点在北京, 你女朋友不想去北京, 咋办.回答 “分手” , HR 认为你性情凉薄, 不适合公司; 回答 “不去北京” , 那 HR 给你发 offer 干啥 [
2021-05-13 13:40:45
593
1
原创 手套,查找整数二进制中1的个数
题目:手套题目描述:在地下室里放着n种颜色的手套,手套分左右手,但是每种颜色的左右手手套个数不一定相同。A先生现在要出门,所以他要去地下室选手套。但是昏暗的灯光让他无法分辨手套的颜色,只能分辨出左右手。所以他会多拿一些手套,然后选出一双颜色相同的左右手手套。现在的问题是,他至少要拿多少只手套(左手加右手),才能保证一定能选出一双颜色相同的手套。给定颜色种数n(1≤n≤13),同时给定两个长度为n的数组left,right,分别代表每种颜色左右手手套的数量。数据保证左右的手套总数均不超过26,且一定存
2021-05-11 21:10:54
144
2
原创 参数解析,跳石板,计算日期到天数转换,幸运的袋子
题目描述在命令行输入如下命令: xcopy /s c:\ d:\, 各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:参数4: 字符串d:请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files” "d:“时,参数仍然是4个,第3个参数应该是字符串C:\programfiles,而不是C:\prog
2021-05-10 21:03:01
146
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅