- 博客(30)
- 资源 (2)
- 收藏
- 关注
原创 jar -jar运行原理
阅读这篇文章你将知道jar包是如何被jvm加载,并运行起来的。jvm的classload如何进行加载springboot对象的生命周期啥时候开始的。
2023-10-08 20:26:27
828
原创 从零带人学技术(0)
前言本人本硕计算机,某大厂码农工作经历2年多(跳过一次槽),本专栏是对自己既往找工作的一个总结,从零开始整理回顾自己的知识体系,也是带女朋友学习的一种记录(校招找工作的一次记录),希望也对大家是一种帮助。以下会从公司层面、岗位层面、福利层面、开发工程师的职业成长层面来介绍程序员未来的工作体系。公司层面本人就职过两个公司,所属领域不同。针对于程序员来说能就职的公司种类,那就非常多了,需要网络的领域都需要程序员。互联网类最热门的就是互联网(包括衣食住行,电商、金融等领域),这类领域流量大,功能迭代强
2021-11-06 15:59:48
500
原创 从零开始学架构(10)--springdata
springData简介对于数据访问层来说无论是SQL,还是NoSQL,在springboot底层都是Springdata来封装的,springdata是和springboot,springCloud齐名的项目在创建项目的时候可以选择Springdata,Springdata中封装了很多模版供我们使用,十分方便继承JDBC1.创建项目的时候勾选Spring Data JDBC和mysql驱...
2020-03-20 10:08:00
313
原创 从零开始学架构(8)-jvm(下)
GC详解GC的作用域口诀:分代收集算法,即不同的区域采用不同的算法。Young代:GC频繁区域Old代:GC次数较少Perm代:不产生GC一个对象的历程由JVM(上)笔记可知,堆分区分为Young,Old,Perm.Young区又分Eden,from,to区。Young区的对象百分之90都活不下去,所以几乎绝大部分的回收都发生在这,Old区是Young区超过15岁的对象存...
2020-03-13 01:21:09
236
原创 从零开始学架构(7)--jvm(上)
JVM常见面试题如果不想看可以直接看后面的知识点总结聊聊常见的面试题1、请你谈谈你对JVM的理解? java8 虚拟机有什么更新?2、什么是OOM,请你说说OOM产生的原因?如何分析?3、JVM 的常用调优参数有哪些?4、内存快照抓取,如何分析,命令是什么?5、堆里面分区:Eden、Survial(from to)、老年区6、GC垃圾收集算法有那个几个?谈谈利弊?BAT 难...
2020-03-11 00:03:32
184
原创 从开始学架构(6)--juc(下)
常用辅助类juc中有三个比较常用的辅助类,属于同步类。1.CountDownLatch这个辅助类是一个同步工具类,适用于某个线程可以一直等待不运行,知道几个线程执行完之后才运行。一般适用于主线程需要等某几个线程执行完后,再执行主线程。例如减法器,如果线程运行完,便会减一,当所有线程都运行完,计数器会变成0,计数器变成0之后,才让主线程运行完。代码如下public static void ...
2020-03-10 00:15:46
180
原创 mac电脑搭建个人博客到cenos服务器
本文参考博客添加链接描述准备工作1.一台centos服务器(阿里云,腾讯云等都可以)2.远程连接服务器软件(我使用的是secureCRT,也可以用常用的xshell)3.nodejs4.Git主要配置流程1.在Mac端安装git,并设置好github2.Mac端安装Nodejs,通过Nodejs安装hexo框架。(因为hexo框架内嵌在nodejs中)3.在服务器端安装配置ng...
2020-03-09 15:07:20
248
原创 从零开始学架构(5)-juc(中)
阻塞队列什么是阻塞队列?顾名思义,阻塞队列实质是一个队列,满足FIFO特性。当队列满的时候,还要往队列里面放元素,会发生阻塞。当队列空的时候,还要取元素出来,也会发生阻塞。当在多线程通讯时,队列发生阻塞的情况的时候,线程还会等待队列变成非阻塞状态的队列就是阻塞队列。通俗的说,一个线程从队列中取数据,发现队列中的数据为空,这个时候该线程不报错,会一直等待队列非空。阻塞队列是Qu...
2020-03-07 17:43:20
169
原创 从零开始学架构(4)--不安全集合类
在并发开发情况下,我们常用的list,map,set都会变得不安全。为了保证安全,list可用CopyOnWriteArraylist包,set底层是hashmap实现,同样也可以使用CopyOnWriteArraySet(),或者Collections集合中的synchronizedSet。map使用的是concurrenthashmap来保证其中的copyonwrite是COW原理...
2020-03-04 19:11:54
127
原创 从零开始学架构(3)--juc笔记
juc是java util concurrent的简写,即java原生的并发包。要明白java并发包,必须要先理解并发和并行的区别并发和并行的区别**并发:**指的是多个线程对同一个资源交替执行的过程。**并行:**指的是多个线程同时执行。线程的6种状态java源码可知,线程有6种状态即NEW(新建) RUNNABLE( 运行) BLOCKED (阻塞) WATTING(等待)延迟等待...
2020-03-03 04:07:34
157
原创 从零开始学架构(2)----架构师需要掌握的技能表
底层知识计算机基础计算机原理数据结构和常用算法操作系统:进程,线程,内存计算机网络tcp/ip协议tcp/ip网络模型http协议原理网络IO模型Socket网络编程linux基础专业技能Java基础类库,异常。JVM原理和调优。《深入理解java虚拟机》框架并发编程。《java并发编程实战》多线程高质量编程能力重用型低耦合可拓展性...
2020-03-03 02:56:36
206
原创 从零开始学架构(1)--认识架构师成长的几个阶段
上篇讲了架构师的使命和责任,还有技术架构,业务等方面的认知,这篇讲架构师的几个阶段,以及各个阶段需要做的事情需要的能力架构师的内功我认为架构师最重要的是三个部分:判断力,执行力,创新力。判断力:能够准确判断系统的复杂度在哪里。执行力:能够找到合适的方法解决并提高性能创新力:能够创造新的方法去解决这类问题而三种内功,主要源于自己的经验,视野和思考。经验:即自己在设计过的系统中走的路,排...
2020-03-01 00:36:47
699
原创 从零开始学架构(0)
好久没写blog了,从今天开始就要开始学习架构了,写个blogs整理记录下,方便以后复习。(第一天概念比较多一点,见谅!)架构师的定义:系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。所以架构师是也是一个技术人员,也是需要懂很多很多技术栈,并且从技术栈的深坑中爬出来的。架构师的使命和责任:1.兼容过去问题:历史数据和业...
2020-02-27 00:37:04
235
原创 通俗易懂讲c++中的sort函数和实例
通俗说明用法:c++中的sort函数一般用来对数组进行排序,有三个参数,第一个参数是是数组的起始位子,第二个参数为你要排序的数组的终止位子。第三个参数一般是排序的条件,可以通过这个参数达到各种各样的排序(后面再讲),也可以不写,默认是升序。如:int arr[5]={1,3,2,5,4}. 操作:sort(arr,arr+5). 结果{1,2,3,4,5} //默认升序如: ...
2019-03-23 22:58:37
553
原创 2019年腾讯算法提前批笔试第三题
题目描述:翻纸牌游戏,有一副数量为n的纸牌,从上到下依次叠放着1,2,…,n的数。现在我们依次进行如下操作:扔掉最上面一张牌,然后把新的最上面一张牌,放到这幅牌的底部。重复上述操作,直到这幅牌被扔完。求这幅牌中各牌被扔的顺序。输入描述:第一行请输入纸牌的数量n,第二行输入从上到下牌的依次顺序。输入描述:这幅牌被依次扔掉的顺序。输入样例:71 2 3 4 5 6 7输出样例:1 3 5 ...
2019-03-11 10:45:03
562
1
原创 和为S的连续正数序列
题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:18,19,20,21,22。现在把问题交给你,你能不能也很快的找出所有和为S的连续正数序列? Good Luck!输出描述:输出所有和为S的连续正数序列。...
2019-02-27 09:24:01
197
原创 和为S的两个数(C++版)
题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。输出描述:对应每个测试案例,输出两个数,小的先输出。解题思路:最基本的解法暴力破解,可以得到解,但本题可能包含满足S的多个解,有趣的事通过发现,我们知道越靠近中间的两个数的乘积要大于一小一大的数。类似的有正方形的面积是周长为一个定值的长方形面积的最大值...
2019-02-19 17:21:35
382
原创 包含min函数的栈
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1)解题思路:可以采用一个辅助数组,来存放当前栈最小的数。如: 栈 3,4,2,5,1辅助栈 3,3,2,2,1 (保存当前最小数)。可以保证用min函数调用时,时间复杂度为(1)。即牺牲空间复杂度来追求时间复杂度。代码如下:class Solution {public:...
2019-02-15 19:59:23
132
原创 二叉树中和为某一值的路径(c++)
题目描述:输入一颗二叉树的跟节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。(注意: 在返回值的list中,数组长度大的数组靠前)解题思路:本题采用有记忆的dfs方式,每走一步,将目标值s减掉该节点的值的结果作为下一步递归的目标值,递归求解,如果递归到最后叶节点,如果剩余的目标值等于叶节点的值,那么说明该条路径...
2019-02-15 17:37:07
1040
原创 二叉搜索树的后续遍历序列(C++版)
题目描述输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。解题思路:1.二叉搜索树的特性是左子树值<=根值<=右子树树值。2.那么该树后序遍历序列的特点是最后一个值是根节点。取出根节点剩下的序列可以分为两段,一段所有的节点值都小于等于根节点,一段所有节点值都大于等于根节点。并且这两段分别各自...
2019-02-15 16:51:35
469
原创 二维数组中查找(c++版)
题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。两种解法:第一种根据上述二维数组的描述,我们对二维数组进行观察发现,从左下角开始,向上数值是递减的,向右数值是递增的,故我们算法从左下角开始进行。代码如下:class Solution {...
2019-02-14 14:21:42
967
原创 从尾到头打印单链表(c++版)
题目描述:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。代码实现:class Solution{public:vector printListFromTailToHead(ListNode* head){vector result;stack arr;ListNode* p=head;while(p!=NULL){arr.push(p->val...
2019-02-13 20:29:39
473
转载 二叉树的下一个结点
题目描述:给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。解题思路:分析二叉树的下一个节点,一共有以下情况:1.二叉树为空,则返回空;2.节点右孩子存在,则设置一个指针从该节点的右孩子出发,一直沿着指向左子结点的指针找到的叶子节点即为下一个节点;3.节点不是根节点。如果该节点是其父节点的左孩子,则返回...
2019-02-13 17:22:40
123
转载 判断是否是对称树(C++版)
题目描述:请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。递归法:思路:首先根节点以及其左右子树,左子树的左子树和右子树的右子树相同,左子树的右子树和右子树的左子树相同即可,采用递归法。public class Solution {boolean isSymmetrical(TreeNode pRoot){if(pRoot...
2019-02-13 17:15:33
632
原创 通俗易懂说单因素方差分析表
单因素方差分析由单因素方差分析的名字,我们可以知道单因素指的是一个因素,即一个自变量,一个因变量,采用方差的方式进行分析。单因素方差表的核心内容是利用组间的离差平方和比上组内离差平方和。(注:离差平方和指的是各项与平均项的差的平方求和)根据上述所求的参数,与已知的显著性参数比较,我们可以得到组间的差异和组内的差异的大小到底有多少,如果所求参数比较大,那么说明组间差异比较大,说明这个单因素的影响...
2019-01-22 12:24:36
24265
1
原创 通俗易懂说假设检验
1.假设检验的基本概念1.假设检验的分类和基本原理。假设检验是一种带有概率性质的反证法。其依据是小概率事件在一次观察中不会出现。例如:北京方便面官方发布一袋北京方便面重100g(默认是正态分布),为了证明官方是否说谎,我们随机从刚刚批发进货来的几箱北京方便面中,随机抽样一袋,来证明。这里我们就用假设检验方法来证明(实则是用反证法)。反证法的思路是:假设条件成立,然后推翻或者证明条件。这里我们...
2019-01-22 11:29:58
3907
原创 使用mapreduce用贝叶斯分类器训练
继上一篇配置好hadoop和eclipse环境之后。我开始做我的实验。实验内容:通过贝叶斯公式对文件分类到某个文件夹中。实验项目链接:https://download.youkuaiyun.com/download/weixin_42615157/10883188实验原理:贝叶斯分类器,通过其名字我们就可以知道,是以贝叶斯公式为基础。公式如下:这里P(B|A)我们称作后验概率,P(B)我们称作先...
2018-12-28 14:30:00
2866
原创 MacBook Pro18 安装hadoop2.7.7版本和eclipse插件安装
(话外)这几天,刚刚入手一台macbook pro18,心情非常激动,虽然已经对linux系统很熟悉,但是刚开始几天用mac还是不习惯,就赶紧的安装完的hadoop来跑实验。现在来谈谈安装hadoop踩过的坑。Mac安装hadoop和其他系统差不多只是有点地方不同。1.安装工具Hadoop 2.7.7。eclipse-Mac版2.在home下设置java和hadoop的环境路径即进入~...
2018-12-08 14:40:36
1862
2
原创 爬虫第一天
爬虫第一天@TOC参考作者主要进行了两项爬虫类型第一个是:文本爬虫 参考上面作者的博客,我对简书网站进行了爬虫第二个是:图像爬虫 参考上面作者的博客,我对知乎进行了爬虫主要用到的python库 包括urllib.request和 bs4.Beautiful两个库(附带一些库比如re,time)先谈谈文本爬虫:文本爬虫其实很简单,只需要输入url 和header即可,URL即网站地址,...
2018-12-04 21:47:39
213
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅