10_____矩形覆盖
题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? public class Solution {
//类似于斐波那契数列的规律
//f(n)=f(n-1)+f(n-2);
public int RectCover(int target) {
if(target==1){
return 1;
}
图灵学院java架构之路-VIP(六)nginx的反向代理和优化配置
书接上回说,nginx我们学会了简单的配置。那么我今天来聊一下,我们ngxin的一些优化配置(我不是很懂,不敢谈高级配置)。我先来看一下nginx的好处和正向代理。 nginx的好处 1、可以高并发连接,官方测试Nginx能够支撑5万并发连接,实际生产环境中可以支撑2~4万并发连接数。他的NIO模式上个博客提到过,这里不再赘述了。 2、内存消耗少,Nginx+PHP(FastCGI)服务器,在3万并发连接下,开启10个Nginx进程消耗150MB内存,15MB*10=150MB,开启的64
HashMap并发下死循环问题解析
首先小伙伴要明确:死循环问题在JDK 1.8 之前是存在的,JDK 1.8 通过增加loHead和loTail进行了修复。 在JDK 1.7及之前 HashMap在并发情况下导致循环问题,致使服务器cpu飙升至100%,那么今天就来解析一下线程不安全的HashMap在高并发的情况下是如何造成死循环的。 要探究hashmap死循环的原因 首先要知道hashmap的源码 这样才能从根本上对hashmap进行理解 。 首先hashmap进行元素的插入,在元素个数达到阀值时: 首先小伙伴要明确:死循环
SpringBoot 集成Elasticsearch
1 maven <parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</pare
Chrome——书签同步码云
偶然发现这个插件挺好用的 解决了不同浏览器之间书签同步问题,此插件把书签放在码云上,随时同步,还可以实现代码有的待遇——回滚操作 1、新建一个仓库,专门用来存储书签 2、把浏览器中的书签导出(格式可以是html,也可以转换成json格式) 3、生成access_token 路径:设置>私人令牌>生成新令牌 4、owner 5、文件路径 6、填写说明 access_token:码云的用户授权码(步骤3) owner:仓库所属空间地址(步骤4) repo:仓库路径(步骤1) path:文件的路径(
ElasticSearch 9200 9300 端口
9300端口: ES节点之间通讯使用 9200端口: ES节点 和 外部 通讯使用 9300是TCP协议端口号,ES集群之间通讯端口号 9200端口号,暴露ES RESTful接口端口号
面试问题之操作系统:死锁的四个必要条件和解决办法
死锁概念及产生原理 概念:多个并发进程因争夺系统资源而产生相互等待的现象。 原理:当一组进程中的每个进程都在等待某个事件发生,而只有这组进程中的其他进程才能触发该事件,这就称这组进程发生了死锁。 本质原因: 1)系统资源有限 2)进程推进顺序不合理 死锁产生的4个必要条件 1、互斥:某种资源一次只允许一个进程访问,即该资源一旦分配给某个进程,其他进程就不能再访问,直到该进程访问结束。 2、占有且等待:一个进程本身占有资源(一种或多种),同时还有资源未得到满足,正在等
PAT甲级题分类汇编——理论
理论这一类,是让我觉得特别尴尬的题,纯粹是为了考数据结构而考数据结构。看那Author一栏清一色的某老师,就知道教数据结构的老师的思路就是和别人不一样。 题号 标题 分数 大意 Author 1051 Pop Sequence 25 判断一个序列是否是pop序列 CHEN, Yue 1052 Linked List Sorting 25 链表排序 CHEN, Yue 1057 Stack 30 一个有中位数功能的stack CHEN, Yue 1074 Reversing Linked Lis
springmvc数据的封装
spring封装是进行orm封装,可以进行定义数据类型,数据名与接收名相同,进行接收,或者定义类,类的属性名与接收名相同 单个数据类型如图下: 对象类型封装: 其他:乱码处理 在中文字符乱码,需要规定请求响应的编码,可以自己进行过滤器进行过滤设置,但是jar包中给我们提供了此过滤器,我们只需要进行web.xml配置即可 init-param规定的是编译的类型
源码角度分析-newFixedThreadPool线程池导致的内存飙升问题
前言 使用无界队列的线程池会导致内存飙升吗?面试官经常会问这个问题,本文将基于源码,去分析newFixedThreadPool线程池导致的内存飙升问题,希望能加深大家的理解。 内存飙升问题复现 实例代码 ExecutorService executor = E
java线程变量那点事儿
写在前面 该文章主要介绍ThreadLocal以及其变种,所以线程的方法、线程池、以及涉及线程方法的一些变量不在该文章讲解; 后续可能会陆续出线程方法详解、同步块、线程池内部详解等;(如果有时间的话) 因为ThreadLocal的讲解可能会涉及一些线程池等内
java并发编程基础——同步机制
线程安全章节我们分析了并发编程遇到的常见问题,并在文章的最后提到如何解决并发问题,其中提到了通过同步机制来解决共享变量有状态问题。 同步概念 同步是指程序用于控制不同线程之间操作发生相对顺序的机制。 在共享内存并发模型里,同步是显式进行的。程序员必须显式指定
利用多condition动态管理池化的异步资源
背景 数字证书申请需要私钥和CSR数据,但公私钥对的生成,尤其是强度较高如2048位秘钥,平均单个耗时接近300ms,且生成时间随着随机数的变化而出现较大的波动; KeyPairGenerator generator = KeyPairGenerator.ge
第三章-网络编程基础
1,套接字:一种基于文件的套接字,AF_UNIX,(早期socket源自于Unix系统而研发的一个主要功能,主要是为了同一台电脑,多个程序直接通信) Unix系统中心思想:一切皆文件 2,一种基于网络类型的套接字,AF_INET 3,TYPE: tcp协议:SOCK_STREAM UDP协议:SOCK_DGRAM 4,tcp:可靠的,面向连接的,面向字节流的传输方式 5,udp: 不可靠的,不需面向连接的,面向数据报的传输方式,但很快 6,网关:类似于一个局域网的出口和
第五天:迭代、函数定义与参数
一、迭代 1、迭代协议 next() 可迭代对象内部实现了f.__next__()方法 f = open('course.txt',encoding = 'utf8')
f.__next__() #两个下划线
f.__next__()
next(f) '优品\n'
'Hello world!\n'
'www.codeclassroom.com' next()方法与__next__都是每次只打印一行 f = open('course.txt', encoding = 'utf8')
next(
Oracle 优化器_访问数据的方法_单表
Oracle 在选择执行计划的时候,优化器要决定用什么方法去访问存储在数据文件中的数据。我们从数据文件中查询到相关记录,有两种方法可以实现:1.直接访问表记录所在位置。2.访问索引,拿到索引中对应的rowid,然后根据rowid 去表中获取相应的数据。(有些情况,不需要再去表中取数据就可以得到相应的结果,那么就会直接返回)。 访问表的方法 全表扫描 全表扫描,Oracle 在取数据库数据的时候,从该表在硬盘上的第一个数据块开始,扫描到该表的最高水位线所在的数据块。在读的时候,会使用
AcWing - 220 - 最大公约数 = 积性函数筛
https://www.acwing.com/problem/content/222/ 求n以内gcd为质数的数对个数。 其实要是n和m不一样的话,貌似是要下面这样做的。也就是n和m不一样可能都得反演,下面这个是nlogn左右的,瓶颈在于给每个T刷上他的质因子p对应的mu[T/p]。 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int MAXN = 1e7;
int Sum[MAXN + 5
周排行