- 博客(60)
- 收藏
- 关注

原创 素材链接积累,持续更新~~~
1、非常详细的SVN使用教程总结:armyfai博客包括SVN服务器搭建、TortoiseSVN客户端搭建及SVN代码提交、更新、解决冲突的基本操作。给力!2、使用maven仓库开发系统,阿里云私服下载jar包失败,可以到 MVNRepository 查找自己需要的jar包,放到相应目录下即可。其实阿里云的私服最终也是到该网站去下载jar包,我们这样操作相当于不用阿里云给我们下载...
2018-08-04 21:08:23
398
原创 面试题之——写一个多线程安全的单例模式
针对面试题中频频出现的问题:写一个多线程安全的单例模式。在此做一个记录。很多博客列举了多种线程安全单利模式的例子,写的很棒,推荐给大家看:https://www.cnblogs.com/jiuyi/p/6105037.html我这里只提供最优的一种写法(多线程环境下懒汉式单例模式实现),需要详细看的请到我推荐的博客中学习。package test;/** * @time 2...
2019-07-19 21:56:47
1425
1
原创 如何实现一个简单的微服务例子 SpringBoot+Eureka+ribbon+maven
SpringBoot:开发框架Eureka:注册中心ribbon: 实现负载均衡maven: 管理项目1、首先简单描述一下此微服务结构图:2、创建的详细流程: 1)注册中心Eureka服务端实现: 1、start.spring.io 去找模板,自己加依赖EurekaServer 2、在eclipse中创建S...
2019-07-11 21:29:23
1382
原创 面试题复习总结(全)
最近在复习找工作,把自己总结的频繁出现在面试中的知识点跟大家分享一下,希望对大家找工作有帮助,不足之处还请批评指正!一起加油哦!持续更新。。。。。。Linux命令复习怎么查看端口状态:netstat -a 查看所有的服务端口 ; netstat -t 显示tcp服务端口 netstat -u 显示udp服务端口怎么查看进程状态:ps -auc计算机网络浏览器...
2019-06-06 22:36:44
1006
2
原创 手撕排序算法(java实现)
本文总结了频繁出现在面试题中的排序算法,并提供了java和python两种语言实现,作为自己复习的总结,也希望对其他找工作的朋友们有所帮助。一、快速排序: 快速排序通常情况下,是用于排序的最佳的实用选择。这是因为其平均性能相当好:期望的运行时间为O(nlogn),且O(nlogn)记号中隐藏的常数因子很小。另外,它还能够进行就地排序,在虚存环境中也能很好地工作。接下来我们便来...
2019-06-06 22:29:10
1124
原创 动态规划之0/1背包问题(java实现)
1、开篇:2020届小白开始准备互联网笔试了,要想拿下笔试,动态规划问题得写的特别6啊!在此总结一篇最基本的0/1背包问题的动态规划问题,其实笔试题中很多动态规划问题都是在此基础上的改版,原理是差不多的。2、题目:假设现有容量10kg的背包,另外有3个物品,分别为a1,a2,a3。物品a1重量为3kg,价值为4;物品a2重量为4kg,价值为5;物品a3重量为5kg,价值为6。将...
2019-06-04 21:50:19
2444
原创 递归和非递归实现 先序、中序、后序遍历二叉树
递归和非递归实现 先序、中序、后序遍历二叉树先序、中序、后序遍历二叉树是一个基础又非常重要的知识点,频繁出现在《剑指offer》面试题中,很多题目都是二叉树遍历的变形。所以在本文章中,我总结了用递归和非递归的方法分别实现对二叉树的先序、中序和后序遍历。递归实现三种遍历先序遍历package algorithm.tree;/** * * @author FHY * ...
2019-05-10 10:39:19
515
原创 动态规划问题:47 礼物的最大价值; 48 最长不含重复字符的子字符串
本文总结《剑指offer》中使用动态规划思路高效率解决问题的几个典型题目:1、面试题47 礼物的最大价值思路:首先,最简单的思路是使用递归逐步计算,但这样存在大量重复计算,该方法舍弃!其次,我们想到构造一个辅助二维数组,数组中坐标为(i,j)的元素表示到达坐标为(i,j)的格子时能拿到的礼物价值总和的最大值。仔细想一下,其实在二维数组中存储的很多元素是我们并不需要的。比如坐标(i,j...
2019-04-15 11:30:27
305
原创 剑指offer面试题之:打印从1到最大的n位数 (2种方法实现)
题目:输入数字n,按顺序打印出从1到最大的n位十进制数,比如输入3,则打印出1、2、3一直到最大的3位数999注意:该题需要考虑大数问题,n的范围没有规定,可以很大,所以不能用int 或 long long类型来存储概数。我们用数组存储(int[] numbers = new int[number+1])方法一:在数组上模拟数字加法代码实现:/** * C...
2019-03-21 09:50:36
296
原创 如何对Mysql数据库进行索引优化?
本文参考:数据库索引原理及优化索引优化策略在对索引进行优化时,以下原则可以参考:1. 最左前缀匹配原则:我们在(a,b,c)字段上建了一个联合索引,所以这个索引是先按a 再按b 再按c进行排列的,所以:以下的查询方式都可以用到索引select * from table where a=1;select * from table where a=1 and b=2;select *...
2019-03-20 09:58:38
528
原创 网易笔试题之:输入正整数n和k,n>=k,找出[1,n]范围内按照字典排序的最小第k个值。
题目:输入正整数n和k,n>=k,找出[1,n]范围内按照字典排序的最小第k个值。输入两个正整数n,k输出一个整数数实例:输入:15,3输出:11题目分析:1、首先,本题作为一个在线笔试题,有一个非常重要的问题是关注题目要求的输入输出格式。输入:15,3 在用例测试时,需要测试很多用例,所以要使用循环接收键盘输入的格式:while(scan.hasN...
2019-03-17 21:31:06
2228
原创 redis使用过程(连接远端redis服务器)问题汇总
今天在使用redis做服务器时缓存时,逐步调错的过程连续出现了以下几个问题:1、jedisPool.getResource() 该句出现连接失败错误 使用ping命令( System.out.println(jedis.ping()) )测试连接时,报如下2和3的错。2、redis.clients.jedis.exceptions.JedisConnectionExcepti...
2019-03-06 09:57:40
1420
转载 Spring和Spring MVC总结
本文转自:https://www.cnblogs.com/doudouxiaoye/p/5693399.html1. 为什么使用Spring ? 1). 方便解耦,简化开发 通过Spring提供的IoC容器,可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合。 2). AOP编程的支持 通过Spring提...
2019-02-27 09:50:57
367
转载 MySQL的两种存储引擎:InnoDB和MyISAM比较总结
MySQL的两种存储引擎:InnoDB和MyISAM比较总结本文转自MySQL两种存储引擎: MyISAM和InnoDB 简单总结MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展...
2019-02-24 10:43:05
269
原创 使用NATAPP搭建免费隧道进行微信支付对接的开发
在开发微信支付对接时,项目地址要求外网能访问(也就是需要有个已备案的域名以及外部能访问的项目服务器)我现在处于微信支付开发初期,以上要求的都没有,所以我使用NATAPP和ngnix进行免费实现。下面是具体的步骤:1、到NATAPP官网 https://natapp.cn/ 进行注册,并新建自己的免费隧道,以下为隧道显示正常时的状态。2、下载工具: 我上传到了百度云:ht...
2019-02-21 16:15:53
1630
转载 深入理解TCP/IP协议栈
本文转自 一像素TCP/IP 协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP 协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。由于我们大部分时间都工作在应用层,下层的事情不用我们操心;其次网络协议体系本身就很复杂庞大,入门门槛高,因此很难搞清楚TCP/...
2019-01-06 16:59:52
1111
7
转载 java内部类面试总结
本文转自牛客网上 BlueFish 总结的Java内部类的笔记,我觉得很详细,在此转发进行记录。有问题大家可以到牛客网进行讨论:1.为什么使用内部类?使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。使用内部类最大的优点就在于:它能够非常好的解决多重继承的问题,使用内部类还能够为我们带来如下特性:...
2019-01-04 20:04:55
1421
原创 求一个数的二进制表示中1的个数和0的个数
在我复习的过程中,很多面试题,甚至笔试题中,都用到了多次求一个整数的二进制表达中1的个数或者0的个数,网上的资料比较乱,我在此做个小记录,算是自己的一点总结,也希望对大家有帮助!1.1 求二进制数中 1 的个数(java版——算法转换)public int getNumOfOne_1(int num){ int count = 0; while(num != 0){ num = ...
2019-01-04 15:56:42
3832
转载 如何解释关系数据库的第一第二第三范式?
如何解释关系数据库的第一第二第三范式?本文转自知乎[刘慰教师](https://www.zhihu.com/question/24696366)范式介绍第一范式1NF的定义为:符合1NF的关系中的每个属性都不可再分。第二范式2NF在1NF的基础之上,消除了非主属性对于码的部分函数依赖。函数依赖完全函数依赖部分函数依赖传递函数依赖码非主属性部分函数依赖第三范式3NF在2NF的基础之上,消除了非主属性...
2018-12-20 15:09:26
307
转载 通俗易懂学会动态代理实现
动态代理是很重要又很经典的技术,今天看到一篇博客,用动态代理的代码实现让整个过程一目了然,在此做个总结。本文转自: 简简单单的代码让你轻松学会动态代理 package cn.xiaolu; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.l...
2018-12-03 10:01:01
235
原创 基于Socket的服务端多线程模式——服务端和客户端代码
本文代码来源于《实战java高并发程序设计》葛一鸣 郭超 著学习这本书的过程中,感觉这一部分比较重要,自己做下总结,也希望能给大家提供些帮助。 本代码模拟简单的Echo服务器,对于Echo服务器,他会读取客户端的一个输入,并将这个输入原封不动地返回给客户端。虽然实例很简单,但麻雀虽小五脏俱全,需要一套完整的Socket处理机制。适合拿来学习。下面贴出本例代码。 1、服...
2018-12-02 19:29:21
839
原创 leetcode 腾讯笔试面试题之链表题目总结(持续更新。。。)
一、合并两个有序链表(简单)将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 1)java代码非递归实现(9ms 战胜96.25%):/** * Definition for singl...
2018-12-01 10:33:49
603
原创 Spring Security 整合freemaker 实现简单登录和角色控制
写这篇文章是因为我做了一个电商网站项目,近期刚加上权限控制。整个过程很简单,在此给大家梳理一下,也算是自己对知识点的一个总结。一、需求分析:我们都知道,电商网站在权限这一块,有两大块内容: 1、用户未登录,部分页面拒绝访问(如:下订单) 2、不同角色用户登录看到的功能模块不一样(如:买家、卖家、客服等)基于以上需求,接下来我们要解决的就是对用户登录的拦截...
2018-11-26 20:50:40
1830
原创 如何用命令将本地项目上传到git 及可能出现的问题汇总(持续更新... ...)
一、文件上传在执行本地项目上传之前,你需要保证自己已经有一个GitHub账号,电脑上已经安装的Git工具。如果没有执行以上操作,可以参考我的上一篇博客:Github 初级教程(申请及Git安装配置)https://blog.youkuaiyun.com/fhy569039351/article/details/839630031、(先进入项目文件夹,即:在要上传的项目路径下邮件,点击Git B...
2018-11-11 21:58:47
307
原创 Github 初级教程(申请及Git安装配置)
如果你是一枚Coder,但是你不知道Github,那么我觉的你就不是一个菜鸟级别的Coder,因为你压根不是真正Coder,你只是一个Code搬运工。但是你如果已经在读这篇文章了,我觉的你已经知道Github了。正是Github,让社会化编程成为现实,我在总结这篇博客的时候,GitHub已经正式被微软收购了。什么是 Github?github是一个基于git的代码托管平台,付费用户可以...
2018-11-11 21:58:04
682
原创 为什么CMS两次标记时要 stop the world(阿里面试)
1、CMS及其执行过程? CMS,全称Concurrent Mark and Sweep,用于对年老代进行回收,目标是尽量减少应用的暂停时间,减少full gc发生的机率,利用和应用程序线程并发的垃圾回收线程来标记清除年老代。CMS并非没有暂停,而是用两次短暂停来替代串行标记整理算法的长暂停。 内外的设置正常收集周期是这样的: 1)CMS-init...
2018-11-11 18:19:05
18323
10
转载 java是编译型还是解释型语言
Java这个语言很非凡!一、你可以说它是编译型的:因为所有的Java代码都是要编译的,.java不经过编译就什么用都没有。 二、你可以说它是解释型的:因为java代码编译后不能直接运行,它是解释运行在JVM上的,所以它是解释运行的,那也就算是解释的了。 三、但是,现在的JVM为了效率,都有一些JIT优化。它又会把.class的二进制代码编译为本地的代码直接运行,所以,又是编译的。...
2018-11-11 16:32:01
11767
2
原创 动态代理两种实现方式:jdk动态代理和cglib动态代理
废话不多说,直接上代码!1、首先是接口及其实现方法:package proxy.test;public interface UserService { public String getName(int id); public Integer getAge(int id);}package proxy.test;public class UserServiceImpl...
2018-10-31 14:36:59
356
转载 微信支付接口对接模式一和模式二的区别及选择
模式一和模式二提供了两种不同的能力,适用于不同的场景,看商户具体的需求。1、两种模式,在支付的流程中,有一定的共同的流程: 1)生成订单。 2)用户支付。2、差别在于: 模式一,先扫码,再生成订单。 模式二,先生成订单,再扫码。3、而 生成订单,代表着 本次支付给商户的金额是否是已经确定了。 在模式一中,用户扫描的二维码,此时可以还没有确定实际要...
2018-10-20 11:27:51
2229
原创 某找房网 笔试题(二)
一、题目说明:傻傻的搏斗小智和小春两个游戏菜鸟要进行电竞搏斗,小智有X点HP,每次攻击便使对方丢失A点生命值,每次攻击完后需要冷却C秒,小春有Y点HP,每次攻击会使对方丢失B点生命值,每次攻击完后需要冷却D秒。玩家HP小于等于0时便死亡,若小智最终存活,则输出XIAOZHI,若小春最终存活,则输出XIAOCHUN。若两者一起死亡,则输出TIE。二、样例输入 41 2 3 ...
2018-10-17 20:04:57
282
原创 某找房网 笔试题(一)
一、题目描述: 给你一个合法的算术表达式,只包含整数和加号,减号。但整数不一定都是十进制的数,可能是八进制,十六进制,规定包含前缀0x的是十六进制,包含前缀0的是八进制,其他情况是十进制。现在你能计算出这个式子的最终的值吗?说明:输入的表达式式子只会是整数+(-) 整数 +(-) 整数...... + (-)整数 保证给定的整数不会超过16位(保罗前缀0或者前...
2018-10-17 17:32:19
225
转载 面试题之——乐观锁和悲观锁区别
对于乐观锁和悲观锁的区别及应用,要牢记一句话:读取频繁使用乐观锁,写入频繁使用悲观锁本文转自:https://blog.youkuaiyun.com/L_BestCoder/article/details/79298417一、乐观锁(Optimistic Lock)总是认为不会产生并发问题,每次去取数据的时候总认为不会有其他线程对数据进行修改,因此不会上锁,但是在更新时会判断其他线程在这之前有没...
2018-10-13 17:29:10
10237
1
转载 java 新生代Eden与两个Survivor区的解释
原文链接:聊聊JVM的年轻代最近在学习《深入理解java虚拟机》,在垃圾收集器这一部分对于Eden和Surviror不太清晰,发现一篇讲的很棒的博客,分享给大家,一起学习一下! 1.为什么会有年轻代我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完全可以,分代的唯一理由就是优化GC性能。你先想想,如果没有分代,那我们所有的对象都在一块,GC的时候我们要找...
2018-10-12 11:22:51
2482
原创 笔试题之——栈问题(列车车厢编组问题)
滴!又是一个笔试题总结!1、题目说明:铁路货车编组站如图显示,A点有K节车厢,所有车厢都须从A点进入,经C点道岔后,重新编组到B点。如:A点有车厢1-2-3(左—右),经C编组,到B点后,可以被编组成1-2-3,1-3-2,2-1-3,2-3-1,3-2-1等几种可能的编组。问:A有车厢编组(左—右)1-2-3-4,列车在经过编组后,能否在B点编组成4-1-3-2的顺序,请给...
2018-10-11 09:00:56
3549
原创 贪心算法典型应用之——以最小前进次数到达数组最后一个位置
1、题目说明:输入一个所有元素都是自然数的数组,初始状态你的位置位于第1个元素,每个元素的位置表示1步,当前所在位置的元素数值表示你下一次前进能够移动的最大步数,你的目标是以最小的前进次数从数组的第一个元素移动到数组的最后一个元素位置,你需要输出每次前进的步数。2、举例:输入 : 2 3 1 1 4输出 : 1 3 3、思路分析:首先,我们通过分析题意,可以看出该...
2018-10-10 15:29:58
1887
2
原创 电商平台项目之——Ajax请求,服务端处理完不跳到success
1、问题描述: 最近在修改电商平台的发布商品页面,发布商品时,前端与后台交互采用Ajax Post请求,就这么一个简单的画面,我遇到一个非常奇怪且困扰我很久的问题: (1)商品发布失败(有时候能发布成功,有点灵异),Post回调函数不进success,只进error ! (2)商品修改时,因为与服务端交互的数据太大,一直保存不成功,报400错误,且后...
2018-10-09 11:16:32
590
转载 经典数据结构 :B树和B+树详细解析
本文转自:https://www.cnblogs.com/vincently/p/4526560.html维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度运行进行查找、顺序读取、插入和删除的数据结构。B树,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优...
2018-10-09 08:28:43
34011
2
原创 leetcode 70. 爬楼梯问题(多种方法总结)
爬楼梯问题有多种出现形式,有不固定最多可跨阶数(即最多可跨阶数为M,M作为方法参数)的,有固定每次最多可跨2阶的。接下来,我就对以上两种出线形势分别进行分析。(一)固定每次最多跨越2阶,使用非递归方式实现:1、问题描述: 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。...
2018-10-08 21:14:25
4613
原创 动态规划解最长上升子序列(全)
1、动态规划问题导览:最长上升子序列(longest increasing subsequence)问题,也可以叫最长非降序子序列,简称LIS。是动态规划算法的一个经典应用。 我们都知道,动态规划的一个特点就是当前解可以由上一个阶段的解推出, 由此,把我们要求的问题简化成一个更小的子问题。子问题具有相同的求解方式,只不过是规模小了而已。最长上升子序列就符合这一特性。我们要求n个数的最长上...
2018-10-08 18:31:25
5340
转载 【转载】堆和栈的区别,很全的总结
本文转载自:https://blog.youkuaiyun.com/pt666/article/details/70876410/在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分: Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一...
2018-09-28 17:10:53
4879
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人