多线程之--等待与通知
wait/notify 等待线程和通知线程是同步在同一对象之上的两种线程 使用过程 //等待
synchronized(object){
//保护条件不成立时,当前线程暂停,进入等待集
while(!保护条件){ object.wait(); } doSomething(); } //唤醒 synchronized(object){ //更新等待线程保护条件涉及的共享变量 updateSharedState(); object.notify(); } 内部实现 Java虚拟机会
配置静态路由传送网络包
网络协议的分层 物理层 数据链路层 (MAC) 网络层(IP,TCP) 传输层 会话层 表现层 应用层(HTTP) TCP在三次握手的时候,IP层和MAC层在做什么 TCP没法送一次消息,都会带着IP层和MAC层,IP层和MAC层所有的运行机制都要运行一遍。 网络上的跑的包都是完整的,可以有下层没上层,但不能有上层没下层。 将子网掩码(255.255.255.0)和IP(10.100.122.255)地址按位计算AND得到网络号(10.100.122)。 CIDR(误类型域间选路)10.100
LeetCode in Python 213. House Robber II
You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses at this place are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent
多线程之---线程同步
线程同步 Java平台用于协调线程间共享数据访问的关键字:volatile,synchronized,final,static;机制:锁;API:Object.wait()/Object.ntify() 锁 锁也称互斥锁/排他锁,是控制原本并行访问共享变量的线程改为串行访问,每次访问变量的线程需要持有锁,锁可以被看作一个许可证,持有者才可以通行,线程完成逻辑操作(这里获得锁后执行的代码成为临界区)后将释放锁,给下一个线程持有; 锁导致的问题 开销:上下文切换 锁泄漏:由于程序错误,锁一直被一个
canal同步MySQL数据到ES6.X-基本配置
背景: 最近一段时间公司做一个技术架构的更改,由于之前使用的solr和目前的业务不太匹配,具体原因不多说啦。所以要把数据放到Elasticsearch中进行快速的搜索,这是便产生了一个数据迁移的需求,把MySQL数据库中的部分库表放到ES一份,便于快速搜索。明确需求:MySQL数据迁移到ES中。 具体要求: 订单表作为主表,商品表和物流表作为附表,数据迁移到ES的同一个索引中。 方案:利用ES的父子文档类型、canal-server和canal-adapter 环境介绍: 内存
Nginx 的 Timeout Wait 解决
1、问题解决办法
查看Nginx并发状态
#netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 2313
SYN_SENT 5
FIN_WAIT1 2
ESTABLISHED 168
FIN_WAIT2 15
SYN_RECV 22
CLOSING 14
LAST_ACK 19
参数解释:
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_R
最优布线问题(信息学奥赛一本通 1349)
【题目描述】 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。 当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。 现在由你负责连接这些计算机,任务是使任意两台计算机都连通(不管是直接的或间接的)。 【输入】 第一行为整数n(2≤n≤100)
Vue.js中 created( ) 与 mounted( )的区别
欢迎一起讨论 Geooo的个人博客:https://geooo.gitee.io/geoooblog/ 观察代码 data:(){
return {
name:"",
age:"", city:"" } }, created :(){ this.name= "Geooo" this.age = "21" this.city ="东莞" var x = document.getElementById("name")//第一个命令台错误 console.log
学习路上的点滴————Ajax知识篇
一.Ajax的介绍 1.AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 2 .Ajax并不是新的技术,只是把原有的技术,整合到一起而已。 (1)使用CSS和XHTML来表示。 (2) 使用DOM模型来交互和动态显示。 (3).使用XMLHttpRequest来和服务器进行异步通信。 (4)使用javascript来绑定和调用。 3.网页如果想要刷新局部内容。 那么需要重新载入
和PHP通用的 DES 加解密类
import java.io.UnsupportedEncodingException;
import java.security.InvalidAlgorithmParameterException;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
i
《大学校内通》技术支持
《大学校内通》是由我们包括后台(PHP)、安卓(andriod)、和苹果(iOS)几个伙伴一块完成,我们的期望用户是各位正在上大学的学生,我们希望来自国内的各位同学能聚集在此,打破地域的限制,在此沟通交流。 您可以与别的学校的同学畅所欲言,您可以展示自己学校的风采。这里为学生与学生之间搭起一座桥梁,让大学无界限。 喜欢的同学们快下载吧,如有任何问题,请联系我们 email:[email protected] tel:17521287837
2019牛客暑期多校训练营第一场题解
A.Equivalent Prefixes 传送门 题意:给你两个数组,求从第一个元素开始到第p个元素 满足任意区间值最小的元素下标相同的 p的最大值。 题解:我们可以从左往右记录到i为止每个区间的最小值有哪些,因为每个值都是不一样的,对于当前的 i 如果1~i中每个区间最小值数量相同那么下标肯定也会相同,否则记录的值的数量就会不同,我们可以用单调栈记录目前为止每个区间的“最小值”的下标,栈里面元素数量不同时肯定不满足条件。 代码: #include <bits/stdc++.h>
#def
github新建分支和相关操作
查看分支 查看本地分支 git branch 查看远程分支 git branch -r 查看所有分支 git branch -a 创建分支 创建本地分支 git branch branch-name 切换到新建分支 git chenckout 分支名 分支push到远程仓库 这个操作会在远程仓库里新建对应的分支 git push origin 分支名 删除分支 删除本地分支 git branch -D 分支名
【NOI2011】阿狸的打字机
题面 https://www.luogu.org/problem/P2414 题解 // luogu-judger-enable-o2
#include<cstdio>
#include<iostream>
#include<cstring>
#include<queue>
#include<algorithm>
#include<vector>
#define ri register int
#define N 100500
using namespace std;
ch
传入一个参数 --功能:如果是纯数字的话返回:这是一串数字,如果是英文或者英文加数字,就把所有的英文转化为大写
传入一个参数 --功能:如果是纯数字的话返回:这是一串数字,如果是英文或者英文加数字,就把所有的英文转化为大写 第一种方法:自定义 def lowerToUpper(s):
d = {'a': 'A', 'b': 'B', 'c': 'C', 'd': 'D', 'e': 'E', 'f': 'F', 'g': 'G'} #字典未写全
if s.isdigit() == True:
return '这是一串纯数字'
newS = ""
阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_5_函数式接口作为方法的参数案例
Lambda 使用的前提 ,方法的参数必须是一个函数式的接口。 优化版:
Linux性能分析之上下文切换
而在每个任务运行前,CPU 都需要知道任务从哪里加载、又从哪里开始运行,也就是说,需要系统事先帮它设置好 CPU 寄存器和程序计数器 CPU 寄存器,是 CPU 内置的容量小、但速度极快的内存。而程序计数器,则是用来存储CPU 正在执行的指令位置、或者即将执行的下一条指令位置。它们都是 CPU 在运行任何任务前,必须的依赖环境,因此也被叫做 CPU 上下文 CPU 上下文切换,就是先把前一个任务的 CPU 上下文(也就是 CPU 寄存器和程序计数器)保存起来,然后加 载新任务的上下文到这些寄存
今日推荐
周排行