自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 读《秒懂设计模式》

作为有思想高度的开发者一定要培养“偷懒”意识,想方设法以最少的代码量实现最强的功能,这样才是优秀的设计。设计模式主要研究的是“变”与“不变”,以及如何将它们分离、解耦、组装,将其中“不变”的部分沉淀下来,避免“重复造轮子”,而对于“变”的部分则可以用抽象化、多态化等方式,增强软件的兼容性、可扩展性。如果将编写代码比喻成建筑施工,那么设计模式就像是建筑设计。这就像乐高积木的设计理念一样,圆形点阵式的接口具有极强的兼容性,能够让任意组件自由拼装、组合,形成一个全新的物件。

2022-10-02 18:39:24 724 1

原创 ccf分题型刷题(c++)

ccf刷题经验

2022-09-19 18:21:50 922

原创 Kafka学习笔记

官网httpKafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。消息中间件1.天生分布式2.存储数据3.流处理(聚合、统计)...

2022-07-30 10:51:39 691

原创 java分布式入门

围绕一个分布式项目展开入门java分布式,了解分布式框架,技术落地,集群,中间件

2022-07-30 10:50:10 6573 1

原创 zookeeper学习笔记

ZK的节点有5种操作权限CREATE、READ、WRITE、DELETE、ADNIN也就是增、删、改、查、管理权限,这5种权限简写为crwda,这5种权限中,delete是指对子节点的删除权限,其它4种权限指对自身节点的操作权限。面试ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,主要为了解决分布式架构下数据一致性问题,典型的应用场景有分布式配置中心、分布式注册中心、分布式锁、分布式队列、集群选举、分布式屏障、发布/订阅等场景。要是系统不能保证这种程度的一致性,就非常难以编程了。...

2022-07-30 10:13:21 223

原创 ElasticSearch学习笔记

文本分析是把全文本转换一系列单词(term/token)的过程,也叫分词。Analysis是通过Analyzer来实现的。分词器的作用就是把整篇文档,按一定的语义切分成一个一个的词条,目标是提升文档的召回率并降低无效数据的噪音。recall召回率,也叫可搜索性,指搜索的时候,增加能够搜索到的结果的数量。降噪指降低文档中一些低相关性词条对整体搜索排序结果的干扰。...

2022-07-29 20:32:07 387

原创 网络编程——入门篇(二)

相关方法:1.获取本机InetAddress对象 getLocalHost2.根据指定主机名/域名获取ip地址对象 getByName3.获取InetAddress对象的主机名 getHostName4.获取InetAddress对象的地址 getHostAddress1.套接字(Socket)开发网络应用程序被广泛采用,以至于成为事实上的标准。2.通信的两端都要有Socket,是两台机器间通信的端点3.网络通信其实就是Socket间的通信。4. Socket允许程序把网络连接当成一个流,数

2022-07-13 10:37:29 765

原创 java网络编程——基础篇(一)

基础知识先来复习一下😎Linux 内核提供的进程间通信的⽅式:管道、消息队列、共享内存、信号量和信号都是在同⼀台主机上进⾏进程间通信,若想跨⽹络与不同主机上的进程之间通信,就需要 Socket 通信了。实际上,Socket 通信不仅可以跨⽹络与不同主机的进程间通信,还可以在同主机上进程间通信。创建 socket 的系统调⽤:三个参数分别代表:根据创建 socket 类型的不同,通信的⽅式也就不同:同个进程下的线程之间都是共享进程的资源,只要是共享变量都可以做到线程间通信,⽐如全局变量,所以对于线程间.

2022-07-10 14:21:12 376

原创 计算机系统——黑皮书学习(三)

ISA 指令集体系 提供了程序执行的一种顺序说明,也就是一条指令执行完了,下一条指令才会开始。定义一个指令集体系结构(例如Y86-64)包括定义各种状态单元、指令集和它们的编码、一组编程规范和异常事件处理。Y86-64程序中的每条指令都会读取或修改处理器状态的某些部分。这称为程序员可见状态。指令集的一个重要性质就是字节编码必须有唯一的解释。任意一个字节序列要么是一个唯一的指令序列的编码,要么就不是一个合法的字节序列。从IA32指令开始,大大简化数据类型、地址模式和指令编码,我们定义了Y86-64指令

2022-07-02 17:53:21 927

原创 c++刷算法【二叉树】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…定义二叉树struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {}};递归确定递归函数的参数和返回值:确定终止条件确定单层递归的逻辑(重.

2022-03-19 09:50:28 768

原创 c++刷算法【栈和队列】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…队列queue<int> q; //定义一个空队列qpush(x) -- 将一个元素放入队列的尾部。pop() -- 从队列首部移除元素。peek() -- 返回队列首部的元素。//同front()empty() -- 返回队列是否为空。back()访问队尾元素size()访问队中的元素个数栈stack<int&.

2022-03-15 10:54:30 2056

原创 c++刷算法【字符串】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…string就是只能用来存放char的vector,但它和vector相比,额外提供了很多操作字符串的接口函数。与Java的String对比:在Java文档中将String类对象称为不可变字符串,Java字符串中的字符是不能修改的。这一点和C++不同,C++中字符串时可以修改的。在C语言中,把一个字符串存入一个数组时,也把结束符 '\0’存入数.

2022-03-13 15:33:29 1684

原创 c++刷算法【哈希表】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…哈希表是根据关键码(索引下标)的值而直接进行访问的数据结构。一般哈希表都是用来快速判断一个元素是否出现集合里。牺牲了空间换取了时间,因为我们要使用额外的数组,set或者是map来存放数据,才能实现快速的查找。冲突解决:拉链法,线性探测法使用哈希法来解决问题的时候,我们一般会选择如下三种数据结构:数组set (集合)map(映射)242.

2022-03-12 19:19:38 1139

原创 计算机系统——黑皮书学习(二)

了解程序和操作系统之间的交互关系二值信号能够很容易地被表示、存储和传输当把位组合在一起,再加上某种解释(inter-pretation),即赋予不同的可能位模式以含意,我们就能够表示任何有限集合的元素。三种数字表示:无符号,补码,浮点数**程序对象:**程序数据,指令,控制信息程序本身是一个字节序列每台计算机都有一个字长(word size),指明指针数据的标称大小(nominal size)。因为虚拟地址是以这样的一个字来编码的,所以字长决定的最重要的系统参数就是虚拟地址空间的最大大小。可移植性的一个方面

2022-03-09 21:15:22 2569

原创 c++刷算法【链表】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…链表定义链表节点方式,如下所示:// 单链表struct ListNode { int val; // 节点上存储的元素 ListNode *next; // 指向下一个节点的指针 ListNode(int x) : val(x), next(NULL) {} // 节点的构造函数};通过自己定义构造函数初始化节点

2022-03-08 20:58:41 613

原创 计算机系统——黑皮书学习(一)

要研究怎么造计算机,硬件方面要理解计算机组成原理和计算机体系结构,软件方面要理解操作系统和编译原理。

2022-03-08 20:27:36 2306

原创 c++使用stl刷题(一)

参考黑马教程,C语言中文网,从其他语言(C,Java)快速入门c++刷题(二)泛型编程,stl(标准模板库)模板(函数模板,类模板)函数模板:template​ 自动类型推导,必须推导出一致的数据类型T才可以使用STL六大组件容器,算法,迭代器,仿函数,适配器,空间配置器1.客器:各种教据结构,如vector、list、deque、set、map等,用来存放数据。2.算法:各种常用的算法。如sort、find、copy、for_each等3.迭代器:扮演了容器与算法之间的胶合剂。.

2022-03-05 15:45:30 921

原创 c++刷算法【数组】

温习数据结构与算法,准备一些比赛,为了学业和就业,以及提升自己的编程能力,将系统的刷刷算法,入手c++跟着carl,leetcode刷题笔记将持续更新…数组704. 二分查找力扣题目链接有序数组中无重复元素class Solution {public: int search(vector<int>& nums, int target) { int l=0; int r=nums.size()-1; while(l&l.

2022-03-05 11:38:00 531

原创 从其他语言快速入门c++刷题

参考柳婼的《从放弃C语言到使用C++刷算法的简明教程v4.7》,黑马,C语言中文网教程,及一些经验😎从其他语言(C,Java)快速入门c++刷题不同知识点#includeusing namespace std;1.常量2.数据类型类型关键字布尔型bool字符型char整型int浮点型float双浮点型double无类型void宽字符型wchar_t一些基本类型可以使用一个或多个类型修饰符进行修饰:signe.

2022-03-03 15:55:14 723

原创 大同小异——项目部署

Java后端上服搭建tomcat服务器需要在Linux远程服务器上安装tomcat服务器cd /opt需要本地的Javaweb项目打成一个war包将打好的war包放到 Linux安装的tomcat 服务器的某个路径下启动Linux 上的tomcat服务器即可云服务器记得开放8080端口号tomcat启动成功之后可以在浏览器中输入服务器 ip:8080就可以访问tomcat服务器Java前端上服前端打包,上传到ngnix html目录,没了(可以改名)查看:公网

2022-01-24 20:15:27 436

原创 大同小异——服务器环境搭建

干货满满,带你玩转不同服务器配置,以Linux操作系统为例,这里使用云服务,像阿里云云服务购买成功,查看到之后只是一个界面信息,如果想要使用它,则需要远程连接java环境配置三个:jdk—java应用程序开发或者运行必须得有Java环境MysQL----如果我们要去开发一个项目,那么项目中的数据必须放到数据库中持久化存储tomcat–专门用来部署Java应用程序的一款软件配置jdk安装包地址将安装包上传到虚拟机的/opt目录下使用连接工具完成将安装包解压到/opt目录并

2022-01-24 19:16:13 4033

原创 java刷算法题总结

算法之路,任重道远。作为一枚刷了一学期算法的大二生,寒假总结一下用Java刷题的技巧????1️⃣输入一、读取输入并赋值1.顺序访问,且只使用一次数字巧用for循环,直接比,注意第一组数据处理strnextInt()只读取了数字n却没有读取换行符,下一个nextLine()会读取换行符并解析为空串nextLine 一行 & next只读字str转intString 字符串转整型 int 有以下两种方式:Integer.parseInt(str)Integer.

2022-01-16 21:48:37 1372

原创 第24届ccf202112-2序列查询新解(JAVA)

题目代码package ccf;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;class Reader { static StringTokenizer token =new StringTokenizer(""); static BufferedReader reader =new BufferedR

2022-01-16 19:18:12 645

原创 第24届ccf202112-1序列查询(JAVA)

题目代码import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;class Reader { static StringTokenizer token =new StringTokenizer(""); static BufferedReader reader =new BufferedReader (new Inp

2022-01-16 18:51:29 197

原创 风险人群筛查-以java图形化编程思想带你一步步解决

前言本题不涉及时间,内存限制,仅是以面向对象,通过图形化编程思想解决问题图形化编程:根据(问题得的需求)思维导图,UML涉及到的图,直接编码用户体验友好:提示,数据检验,菜单…题目思维导图知识点好好理解面向对象,分析完问题,先找对象,把几个有关联的对象抽象成类,模块化思想,分装方法属性1.IO流在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很广泛:​ 标准输入输出,文件的操作,网络上的数据流,字符串流,对象流,zip文件流等等,java中将输入输出抽象称为流,就

2021-12-19 17:50:44 302

原创 BS项目——架构能力

BS项目——架构能力spring框架可谓各式各样,相信用springboot+mybatis-plus做过项目的人都了解过mybatis-plus自动生成代码,那么一键生成代码,增删改查数据库,项目所需接口自动生成还远吗?所以未来不想被无情淘汰,做项目的基本能力要掌握,架构一个项目,从画图开始😎一、需求分析真理:一切需求来自甲方用例图,类图,时序图,思维导图工具:visio,xmindvisio功能了解一下,在数学建模中画流程图必备,这里主要说明作为UML工具如何使用一、【快速使用图表】

2021-09-05 16:37:18 1856

原创 Linux CentOS7虚拟机下编译Openjdk15

编译日志:为什么要编译JDK源码已发布jdk版本去除了调试信息和运行时信息,降低内存占用提升运行速度,但是不适合开发者调试jdk代码深入jvm细节,自己动手编译为深入学习打基础参考了几篇好的博客,想要深入了解JVM,就必须了解其实现机制。了解JVM实现的最好方法便是自己动手编译JDK。我为什么要自己编译openjdk8以及那些坑一、源码编译平时使用的开发环境都是二进制安装包,是直接编译好的,但是这样的安装包不一定能满足所有的平台,所以做源码编译的目的就是:1.满足不同的运行平台2.方便

2021-07-14 11:27:20 294

原创 成长系列——我的大学(未完)

这里是热爱编程的sohoAPI,对自己的大学复盘,未完🥰

2021-07-12 11:14:07 116

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除