- 博客(53)
- 资源 (2)
- 收藏
- 关注
原创 Java并发的笔记
缓存行填充,缓存拿需要的变量时会去内存读,但是会一口气加载一个缓存行,也就是缓存行有64bit但是想要的变量就8bit,它会把剩下的56bit根据那个变量地址后面加载56bit。处理器发送任何指令都是电压传输,如果2个处理器同时发命令两个电压造成电压叠加必定会造成混乱,最好情况就是其中一个处理器的指令执行被吃了(这也很恐怖),如果两个电压抵消,两个处理器的指令白干活。volatile能保证,当一个处理器写了某个被volatile修改的数据,其他处理器能正确的读到被修改后的值,就是保证读的正确。
2024-07-22 13:37:51 432
原创 102. 二叉树的层序遍历&518. 零钱兑换 II
class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> ret = new ArrayList<List<Integer>>(); if (root == null) { return ret; } Queue&.
2022-05-15 23:56:14 1065
原创 146. LRU缓存机制
class LRUCache extends LinkedHashMap<Integer, Integer>{ private int capacity; public LRUCache(int capacity) { super(capacity, 0.75F, true); this.capacity = capacity; } public int get(int key) { return su.
2022-05-15 23:51:42 1021
原创 215. 数组中的第K个最大元素&56. 合并区间
class Solution { Random random = new Random(); public int findKthLargest(int[] nums, int k) { return quickSelect(nums, 0, nums.length - 1, nums.length - k); } public int quickSelect(int[] a, int l, int r, int index) { int.
2022-05-15 23:49:58 975
原创 83. 删除排序链表中的重复元素&206. 反转链表
class Solution { public ListNode deleteDuplicates(ListNode head) { if (head == null) { return head; } ListNode cur = head; while (cur.next != null) { if (cur.val == cur.next.val) { .
2022-05-15 23:45:20 977
原创 322. 零钱兑换
public class Solution { public int coinChange(int[] coins, int amount) { if (amount < 1) { return 0; } return coinChange(coins, amount, new int[amount]); } private int coinChange(int[] coins, int rem, in.
2022-05-15 23:43:07 866
原创 33. 搜索旋转排序数组
class Solution { public int search(int[] nums, int target) { int n = nums.length; if (n == 0) { return -1; } if (n == 1) { return nums[0] == target ? 0 : -1; } int l = 0, r = n - .
2022-05-15 23:41:45 867
原创 110. 平衡二叉树&236. 二叉树的最近公共祖先
class Solution { public boolean isBalanced(TreeNode root) { if (root == null) { return true; } else { return Math.abs(height(root.left) - height(root.right)) <= 1 && isBalanced(root.left) && i.
2022-05-15 23:39:56 91
原创 88. 合并两个有序数组&108. 将有序数组转换为二叉搜索树
class Solution { public void merge(int[] nums1, int m, int[] nums2, int n) { for (int i = 0; i != n; ++i) { nums1[m + i] = nums2[i]; } Arrays.sort(nums1); }}class Solution { public TreeNode sortedArrayTo.
2022-05-15 23:35:52 895
原创 3. 无重复字符的最长子串
class Solution { public int lengthOfLongestSubstring(String s) { // 哈希集合,记录每个字符是否出现过 Set<Character> occ = new HashSet<Character>(); int n = s.length(); // 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动 int rk .
2022-05-14 16:21:40 930
原创 199.二叉树的右视图
class Solution { public List<Integer> rightSideView(TreeNode root) { Map<Integer, Integer> rightmostValueAtDepth = new HashMap<Integer, Integer>(); int max_depth = -1; Deque<TreeNode> nodeStack = new Ar.
2022-05-14 16:16:44 864
原创 124. 二叉树中的最大路径和
class Solution { int maxSum = Integer.MIN_VALUE; public int maxPathSum(TreeNode root) { maxGain(root); return maxSum; } public int maxGain(TreeNode node) { if (node == null) { return 0; } .
2022-05-14 16:15:03 860
原创 155. 最小栈
class MinStack { Deque<Integer> xStack; Deque<Integer> minStack; public MinStack() { xStack = new LinkedList<Integer>(); minStack = new LinkedList<Integer>(); minStack.push(Integer.MAX_VALUE); .
2022-05-14 16:13:35 894
原创 15. 三数之和
class Solution { public List<List<Integer>> threeSum(int[] nums) { int n = nums.length; Arrays.sort(nums); List<List<Integer>> ans = new ArrayList<List<Integer>>(); // 枚举 a fo.
2022-05-14 16:11:21 857
原创 买卖股票的最佳时机
public class Solution { public int maxProfit(int[] prices) { int maxprofit = 0; for (int i = 0; i < prices.length - 1; i++) { for (int j = i + 1; j < prices.length; j++) { int profit = prices[j] - pric.
2022-05-14 16:08:02 893
原创 25、K 个一组翻转链表
class Solution { public ListNode reverseKGroup(ListNode head, int k) { ListNode hair = new ListNode(0); hair.next = head; ListNode pre = hair; while (head != null) { ListNode tail = pre; // 查看剩余.
2022-05-14 16:04:57 76
原创 mybaitsdemo
studentDaopackage com.qcby.dao;import com.qcby.entity.student;import java.util.List;public interface studentDao { List<student> findAll();}UserDaopackage com.qcby.dao;import com.qcby.entity.User;import org.apache.ibatis.annot
2022-05-14 15:47:12 103
原创 mybaits的sql
/* Navicat Premium Data Transfer Source Server : cccc Source Server Type : MySQL Source Server Version : 50649 Source Host : localhost:3306 Source Schema : mybatis_demo Target Server Type : MySQL Target Server Ver.
2022-05-14 15:39:00 84
原创 SSM增删改查
项目结构AccountControllerpackage com.qcby.controller;import com.qcby.entity.Account;import com.qcby.service.AccountService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.s...
2022-05-14 15:14:12 709 1
原创 nginx简述
# nginx## 1 nginx简介nginx官网:http://nginx.org/en/nginx中文文档:https://www.nginx.cn/doc/```nginx是一个高性能的反向代理和负载均衡中间件。```### 1.1 nginx的优点```在性能上,Nginx占用很少的系统资源,能支持更多的并发连接,达到更高的访问效率;在功能上,Nginx是优秀的代理服务器和负载均衡服务器;在安装配置上,Nginx安装简单、配置灵活。Nginx支持热部署,启动速
2022-04-19 12:23:49 809
原创 springmvc简述及实例
一、简述springmvc是spring的一个模块,一个“小弟”,用于web开发,可理解为servlet的升级版所以了解springmvc必须先了解之前的开发模式---------------------------------------------------------------------------------------------------------------------------------Java web的发展历史一.Model I和Model II1
2022-04-19 12:03:19 23348 7
原创 nginx安装
#安装gccyum install gcc-c++#安装pcreyum install -y pcre pcre-devel#安装zlibyum install -y zlib zlib-devel#安装opensslyum install -y openssl openssl-devel#下载nginxwget http://nginx.org/download/nginx-1.18.0.tar.gz#解压tar -zxvf nginx-1.18.0.tar.gz#进入到ngin.
2022-04-18 16:17:01 236
原创 maven安装
https://www.aliyundrive.com/s/iW3ttLbRsmK(我是maven文件⬆)先把java弄好了,再弄maven下到D:盘去配环境变量变量名MAVEN_HOME变量值D:\apache-maven-3.6.2点进去path系统变量新建D:\mysql-5.6.49-winx64\mysql-5.6.49-winx64\bin这就是成了...
2022-04-10 00:06:42 1408
原创 mybaits所有增删改查加其他操作都拿走
https://www.aliyundrive.com/s/AVGu4m3JoCh我的sql有点格式问题,改改就好了注意数据库连接,把自己的密码账号输进去。或者复制我的源码,得到自己想要的东西我只有阿里,百度网盘真不想弄,我的主页的下载也有源码,也可以弄到源码,不用积分和花钱...
2022-04-09 23:53:52 363
原创 消息队列简述
消息队列(Message Queue),是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。消息队列主要解决了应用耦合、异步处理、流量削锋等问题。当前使用较多的消息队列有RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,而部分数据库如Redis、Mysql以及phxsql也可实现消息队列的功能。什么时候需要消息队列 异步处理:..
2022-04-05 21:00:10 1287
原创 高聚合低耦合简述
耦合的概念耦合,从古代农业领域借用到其他领域,在物理学上指两个或两个以上的体系或两种运动形式之间通过各种相互作用而彼此影响,甚至联合起来的现象(这是一开始的概念,后来流向不同领域,比如编程)在编程里面可以理解为各个东西的依赖程度给你个问题:若让你维护各个模块,你觉得哪个更好(请认为线表示模板的相互逻辑表示,若为双向交互,即为相互制约)要是黑客来干你,它可能只能看到模块1,前者就直接么了,后者调整调整就又上线了。你妈今天做的包子,做的韭菜的,你挺爱吃:你跟在
2022-04-05 17:35:48 1845
原创 安装zookeeper看我就行了
https://blog.csdn.net/a624135_/article/details/123753269?spm=1001.2014.3001.5501请移步到这里,执行到java配置完成去这下zookeeperhttps://downloads.apache.org/zookeeper/zookeeper-3.6.3/cd/usr/local在这新建文件夹zookeeper-3.6.3这里上传,把解压后的zookeeper弄上去cd /usr/l...
2022-03-26 13:08:07 3500
原创 安装radis看我就可以了
服务器 java配置 直接干radis1、服务器先整台服务器,我用的是华为云,一年40,还好,老师说库可能穷点,不管咋说,便宜嘛。腾讯云没事,华为云同学注意,你的操作必须是centos,华为云默认操作系统是huawei cloud euteros去控制台更多这里改操作系统改成7.5的,不然一会还有报错ok,服务器基本解决了2、finalshellhttp://www.hostbuf.com/downloads/finalshell_install.exe从...
2022-03-26 12:34:44 4078
原创 简易socket
Client.javaimport java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Scanner;public c
2022-03-13 20:36:52 971
原创 java第四课---java的简单介绍
1.jdk文件夹(java开发工具包) --jre --jvm java虚拟机 --lib 类库,存放一些jar包 --bin 存放一些命令(java命令、javac命令) java的可执行文件 --src.zip 源代码bin文件里面存放了JDK的各种开发工具的可执行文件,主要的是编译器(javac.exe)db文件是一个先进的全事务处理的基于Java技术的数据库(jdk自带数据...
2022-02-27 20:55:03 696
原创 java第三课---内存
一、计算机的位数代表什么以及cpu的计算时间cpu一次处理数据的量决定了我们操作系统的位数,我们的计算机当前有32位的和64位的,也就意味着我们cpu一次只能计算64bit的数据,那么也就意味着我们的总线一次只能传输64位的数据。当代cpu的计算时间在0.2ns左右(虽然我一次才64bit,但我很快)这是ms和ns的换算二、内存和磁盘的速度分析1.磁盘我们在磁盘上找数据的时候,首先涉及到机械臂的移动,以及盘面的转动 共需要 5ms上边我们看到cpu的的计算速度和每次只
2022-02-27 16:27:45 1183
原创 AOP注解方式入门程序
Userpackage com.qcby;import org.springframework.stereotype.Component;@Componentpublic class User { //连接点/切入点 public void add(){ System.out.println("add......"); }}UserProxypackage com.qcby;import org.aspectj.lang.Proce..
2022-02-20 18:16:08 1002
原创 AOP的通知类型
1. 前置通知 目标方法执行前,进行增强。2. 环绕通知 目标方法执行前后,都可以进行增强。目标对象的方法需要手动执行。3. 最终通知 目标方法执行成功或者失败,进行增强。 4. 后置通知 目标方法执行成功后,进行增强。 5. 异常通知 目标方法执行失败后,进行增强。(发生异常的时候才会执行,否则不执行)Userpackage com.qcby;public class User { //连接点/切入点 public void add(){
2022-02-20 15:40:05 260
原创 2. AOP配置文件方式的入门
创建maven项目,坐标依赖<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.0.2.RELEASE</version> </dependency&g
2022-02-20 14:36:53 1010
原创 基于注解的方式实现Bean管理和注入属性
1.什么是注解①:注解是代码特殊标记,格式:@注解名称(属性名称=属性值,属性名称=属性值...)②:使用注解,注解作用在类上面,方法上面,属性上边③:使用注解的目的:简化XML配置2.Spring针对Bean管理中创建对象提供的注解@Component 普通的类@Controller 表现层@Service 业务层@Repository 持久层*上边四个功能一样,都可以用来创建bean实例3.用注解的方式创建对象①:编写接口和实现类package com.
2022-02-20 10:23:09 1016
原创 java一:计算机底层结构
计算机系统层次结构中最底层的是机器语言层,也有说是计算机硬件系统、机器硬件。计算机系统层次结构,指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。其中最底层的是硬联逻辑级。第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。一、人类关于计算领域的发展人类的祖先从树上下来以后开始了一轮新的生存挑战。与其他动物相比人类没有尖牙厉爪,只能去发展大脑,随着大脑的发展人类逐渐的站在了食物链的顶层。但是受制于人类活动和自然因素的发展,许多大型动物越来越少,所有人类从最..
2022-02-19 17:37:57 1245
原创 java一:计算机底层结构
计算机系统层次结构中最底层的是机器语言层,也有说是计算机硬件系统、机器硬件。计算机系统层次结构,指的是计算机系统由硬件和软件两大部分所构成,而如果按功能再细分,可分为7层。其中最底层的是硬联逻辑级。第零级是硬联逻辑级,这是计算机的内核,由门,触发器等逻辑电路组成。一、人类关于计算领域的发展人类的祖先从树上下来以后开始了一轮新的生存挑战。与其他动物相比人类没有尖牙厉爪,只能去发展大脑,随着大脑的发展人类逐渐的站在了食物链的顶层。但是受制于人类活动和自然因素的发展,许多大型动物越来.
2022-02-19 17:21:09 1418
原创 Spring属性的set方法注入值
package com.qcby.service;public class Demo { private int age; private String name; private User user; public User getUser() { return user; } public void setUser(User user) { this.user = user; } publ...
2022-02-19 16:40:36 1058
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人