- 博客(49)
- 收藏
- 关注
原创 背包
import java.util.Scanner;public class Main3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int total = scanner.nextInt(); int initVol = scanner.nextInt(); int[][] arr = new int[to.
2020-09-07 16:41:13
172
原创 最长相同子串,且不重叠
import java.util.*;import java.util.stream.Collectors;import java.util.stream.Stream;/** 最长相同子串,且不重叠* */public class Main1 { public static void main(String[] args) { String str = "abcdefab"; int len = getMaxLenStr(str); i.
2020-09-07 15:56:02
438
原创 148. 排序链表
思路:归并排序/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode ...
2020-01-15 16:26:34
181
原创 42. 接雨水
暴力法:// 解一:核心思路,按行求,当遇到第一个大于等于当前行的列时,后续遇到比当前行低的列就// 加1,直到遇到大于等于当前行高的列时就sum一次,每次计算一行,temp需要置为0,status=false// 时间复杂度:n*Max(int[] height) 空间O(1)class Solution { public int trap(int[] height) ...
2019-12-19 15:47:41
138
原创 k个反转链表
给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。示例 :给定这个链表:1->2->3->4->5当k= 2 时,应当返回: 2->1->4->3->5当k= 3 时,应当返回: 3->...
2019-12-10 14:03:05
181
原创 shade jar,解决jar死锁冲突
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://m...
2019-10-24 15:34:07
383
原创 SpringApplication之refreshContext
//上源码 private void refreshContext(ConfigurableApplicationContext context) { refresh(context);//跟进 if (this.registerShutdownHook) { try { context.registerShutdownHook(); } catch (Acce...
2019-10-16 17:05:01
483
原创 SpringApplication之prepareContext
prepareContext(context, environment, listeners, applicationArguments, printedBanner);// private void prepareContext(ConfigurableApplicationContext context, ConfigurableEnvironment environment, Sp...
2019-10-16 11:48:32
291
原创 SpringApplication之createApplicationContext
//这里实例化的是SERVLET,即AnnotationConfigServletWebServerApplicationContextcontext = createApplicationContext(); public static final String DEFAULT_SERVLET_WEB_CONTEXT_CLASS = "org.springframework.boot." ...
2019-10-16 11:23:58
260
原创 springapplication之SpringApplicationRunListeners
上文讲述了SpringApplication启动的基本流程,下文展开将run方法SpringApplicationRunListeners listeners = getRunListeners(args);//这里从spring.factories文件中读取配置//读到的类有org.springframework.boot.context.event.EventPublishingRunL...
2019-10-15 18:55:58
957
原创 SpringApplication之run基本流程
核心方法runSpringApplication.run(DemoApplication.class, args)--> public static ConfigurableApplicationContext run(Class<?>[] primarySources, String[] args) { return new SpringApplication(pri...
2019-10-15 17:36:46
283
原创 shell语法
Shell 虽然没有 C++、Java、Python 等强大,但也支持了基本的编程元素,例如:if...else 选择结构,case...in 开关语句,for、while、until 循环;变量、数组、字符串、注释、加减乘除、逻辑运算等概念;函数,包括用户自定义的函数和内置函数(例如 printf、export、eval 等)1 开头程序必须以下面的行开始(必须方在文件的第一行),...
2019-09-03 21:09:18
172
1
原创 freemark笔记
// FTL 标签(eg:<#if>) 不可以在其他 FTL 标签 和 插值(${xxx})中使用${a} 取a变量的值。 ${avg(6, 10, 20)} FTL区分大小写的// user.name, user["name"] products[5]<#if user == "Big Joe"> //<#elseif a...
2019-09-03 15:45:16
209
原创 docker学习笔记
基本概念镜像(Image):相当于是一个 root 文件系统,即一台linux主机分层存储:镜像构建时,会一层层构建,前一层是后一层的基础,每一层构建完就不会再发生改变,后一层上的任何改变只发生在自己这一层容器(Container):容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。每一个容器运行时,是以镜像为基础层,在其上创建一个当前容器的存储层,我们可以称这个为容器运行...
2019-09-03 15:11:48
368
原创 拉姆达表达式、Stream
Q:最近接触到Stream流式编程遇到了一些错误,故做一次总结复习用。一、λ表达式通常我们会用一个类实现接口,然后构造对象作为参数传入,也可以使用匿名类,用λ表达式可以简化匿名类的编写,用例如下。 class Worker implements Runnable { @Override public void run() { ...
2019-06-02 21:54:46
2295
原创 SpringBoot整合mybatis,
一.新建项目1.组名 2.项目名 1+2为9默认的包名3.选择项目构建jar管理mvn、graddle等4.项目构建语言java、kotlin、grovey等5.项目打包设置,jar或war6.java版本选择web、thymeleaf、MySQL、Mybatis,新建项目结构如下这里用已经搭建的项目来直接介绍application.ymlspring: da...
2019-01-30 20:09:10
265
原创 Mybatis学习笔记
SqlSessionFactoryBuilder ->SqlSessionFactory->SqlSession->SQL MapperSqlSessionFactoryBuilder :根据配置生成SqlSessionFactory , 构建完所有SqlSessionFactorySqlSessionFactory:依靠工厂生成SqlSession ...
2019-01-30 19:01:44
206
原创 分布式
IOC:解耦AOP:适用于面向对象方法无法抽象的业务逻辑,如:日志,安全、事务、应用程序性能管理(APM)等实现方式:1.对字节码重新编译,cglib实现2.定制类加载器,在类加载时对字节码进行补充,jvm自身提供的java agent机制3.invocationhandlerSOA实现1.Web ServiceSP WSDL、UDDI (注册) 服务注册中心 UDDI(查询服...
2018-11-07 23:32:23
310
原创 zookeeper学习笔记(分布式过程协同)
第一章概念与基础选举主节点、管理组内成员关系、管理元数据等主从工作模式:主节点分配任务给从节点。获取主节点的过程就是获取锁的过程,即互斥排他锁。竞争:两个进程不能同时处理工作的情况,一个必须等到另外一个HBase:用于选举主节点,以便跟踪可用服务器,并保持集群元数据kafka:检测崩溃,实现主题的发现,并保持主题的生产和消费状态Solr:存储集群的元数据,并协作更新这些元数据…以上...
2018-11-07 23:23:32
404
原创 hadoop权威指南笔记
combiner函数 集群的可用带宽限制了MapReduce作业数量,因此应该尽量避免两者之间数据传输是有利的map输出指定一个combiner,对数据量进行减少,最后再传递给reducecore-site.xml<property> <name>fs.defaultFS</name> 用于设置默认文件系统,指定namenode主机以及端口...
2018-11-07 15:52:07
360
原创 Ubuntu12.04+vmware部署集群(1+2)
首先安装三台unbuntu#设置root密码 sudo passwd root sudo passwd -u root安装OPENsshsudo apt-get install openssh-client sudo apt-get install openssh-server // sudo /etc/init.d/ssh start 启动sshps -e |gre...
2018-11-07 00:31:20
235
原创 spring标签
//Replacer 需要实现MethodReplacer接口,并重写reimplement方法//会替换MyBean的getTestStr方法为Replacer类的reimplement方法<bean id="MyBean" class="com.qmylzx.bean.MyBean"> <replaced-method name="getTestStr" re...
2018-10-30 22:24:27
320
原创 redis学习
Redis每个键值对都是由对象组成,其中 1.数据库键总是一个字符串对象 sorted set obj 2.数据库键的值可以是 字符串对象、列表对象、哈希对象、集合对象、有序对象包含字符串的键值对底层实现为SDS(Simple Dynamic String)struct sds{ int len; //记录buf数...
2018-10-30 16:30:20
177
原创 使用最小花费爬楼梯dp
数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。示例 1:输入: cost = [10, 15, 20]输出: 15解释: 最低花费是从c...
2018-10-25 22:55:35
367
原创 盛最多水的容器
给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。输入: [1,8,6,2,5,4,8,3,7]输出: 49解析两线段之间形成的区...
2018-10-24 18:13:58
150
原创 最大子序和(DP,分治)
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 以a[0]结尾的子序列只有a[0]以a[1]结...
2018-10-24 14:51:32
547
1
原创 最长回文子串DP
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。示例 1:输入: "babad"输出: "bab"注意: "aba"也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"分析:dp dp[ j ][ i ] 表示从 j 到 i 的子串 ,若dp[ j ][ i ] 为回文串,则 dp[ j+1 ][ i-1 ] ...
2018-10-24 14:24:50
632
原创 两个排序数组的中位数(归并)
给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [1, 3]nums2 = [2]中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]中位数是 (2 +...
2018-10-24 12:04:17
921
1
原创 无重复字符的最长子串(队列,滑动窗口)
给定一个字符串,找出不含有重复字符的最长子串的长度。示例 1:输入: "abcabcbb"输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 无重复字符的最长子串是 "b",其长度为 1。示例 3:输入: "pwwkew"输出: 3解释: 无重复字符的最长子串是 "wke",其长度为 3。
2018-10-24 11:21:04
1120
原创 两数之和
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]思路:for循环遍历,使用HashMap<Integer, Integer> ...
2018-10-24 11:08:17
108
原创 分布式服务框架原理与实践
传统垂直应用架构:MVC架构(Spring+Struts+Hibernate/iBatis+Tomcat)、LAMP架构(linux+Apache+PHP+MySQL) MVC 1.视图展示层 2.调度控制层:接受请求,调用相应模型组件处理请求,调用相应视图显示模型的数据 3.应用模型层:应用程序主体部分,模型代表了业务数据和业务执行逻辑...
2018-10-19 20:34:21
1299
原创 spring实战笔记
AnnotationConfigApplicationContext:从一个或多个基于java配置类中加载Spring应用上下文AnnotationConfigWebAppApplicationContext:从一个或多个基于java配置类中加载Spring Web应用上下文ClassPathXmlApplicationContext:从类路径下的一个或多个XML文件中加载上下文定义,把上...
2018-10-12 10:32:59
191
原创 mysql复习笔记
-- 注释//自增插入数据,必须一一对应表的每一个数据列,不可空出来。CREATE TABLE class(id int PRIMARY KEY auto_increment,sname VARCHAR(50) not null DEFAULT '');# 插入改INSERT INTO class(sname) VALUES('豆豆');INSERT INTO class V...
2018-10-08 22:00:04
437
原创 uml笔记
总原则:开闭原则(Open Close Principle)对扩展开放,对修改关闭1、单一职责原则 每个类应该实现单一的职责 (Liskov Substitution Principle)2、里氏替换原则 LSP (Dependence Inversion Principle)3、依赖倒转原则DIP 面向接口编程,依赖于抽象而不依赖于具体。...
2018-09-28 13:48:59
191
原创 java设计模式
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。策略模式:定义了算法族,分别封装起来,让他们之间可以互相替换,此...
2018-09-28 11:21:10
1060
原创 linux学习笔记
Linux自己的文件数据: /usr/share/doc (在你的Linux系统中)tab 补全命令,提示ctrl+c 结束指令ctrl+d exitshift+PageUP down翻页--help 指令语法man page DATE( 1 )里面的数字即1 使用者在shell环境中可以操作的指令或可可执行文件2 系统核心可调用的函数与工具等3 ...
2018-09-26 21:00:56
416
1
转载 AQS共享模式解析
https://blog.youkuaiyun.com/doraeimo/article/details/17097223https://blog.youkuaiyun.com/ya_1249463314/article/details/77838509
2018-09-26 11:44:00
1173
原创 ReentrantLock解析
ReentrantLock lock = new ReentrantLock();//默认非公平锁lock.lock();//调用顺序 NonfairSync.lock(),成功则设置线程独占,失败则AbstractQueuedSynchronizer.acquire(1)[[[ 失败就 //acquireQueued(addWa...
2018-09-25 23:21:40
177
原创 并发编程艺术笔记
死锁的条件:1.互斥 资源只能一个线程持有2.请求与保持 一个线程持有资源,然后请求另外一个资源,阻塞不释放3.不可抢占 线程持有,只能主动释放4.互相等待 A、B。。。多个线程相互等待 减少上下文切换 (Lmbench3 时长、vmstat 次数) 1.无锁并发 任务分段 2.CAS 3.使用最少线程 任务少,线程多,大多线程处于等待状...
2018-09-07 22:17:50
169
原创 10,11编译优化
sun javac编译过程 JavaCompiler类1.解析与填充符号表过程 2.插入式注解处理器的注解处理过程 3.分析与字节码生成过程 * .java————-解析与填充符号表 —–>注解处理——->语义分析与字节码生成——>class | 循环 ...
2018-07-20 15:36:53
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人