java 生产者消费者
对于生产者那边:
如果生产的物品超过了库存容量,生产对象锁就wait(上锁),否则就接着生产;
对于消费者那边:
如果消费的物品超过了仓库中存放的物品数量,消费线程就wait,否则就消费;...
C++字符串的输入与输出
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
char str[100];
int main()
{
string s;
getline(cin, s); //读一行
cout << s << endl...
将英文规则名词变为复数形式
使用s.size()或s.length()均可获得字符串s的长度,且二者效果相同。将英文规则名词变为复数形式的代码如下:#include <iostream>
#include <string>
using namespace std;
string pluralize(string & s);
int main()
{
string word;
while ...
java JVM ClassLoader机制,类加载器,JNI和NDK
JVM:
线程共享:方法区,堆
线程独享:栈,程序计数器;
它的内存区域有五块:堆,虚拟机栈,本地方法栈,方法区,程序计数器
程序计数器:
用来记录当前执行的字节码位置。
方法区:
放常量,静态量,常量池的地方,以及放。CLass文件;
虚拟机栈:
就是指的“栈”,存放对象引用
本地方法栈:
为JVM使用到的Naive方法提供内存空间
堆:
放对象的地方,JVM的GC...
利用矩阵判断传递性(二元关系,离散数学)
参考网址:http://www.docin.com/p-423233678.html方法一:利用(复合矩阵法)(矩阵乘法)(之前学的线性代数终于用上了)思路:设M是R的关系矩阵,若M*M为M的子集,则R具有传递性。判断方法:计算M*M,M*M为M的子集的意思是,在方阵对应的同行同列的位置,若对于M,该数为0,则对于M*M,该数必为零,否则R不具有传递性。即:若M中的a[i][j] == 0, 则必...
android 如何让自己的App一直运行
主要看第二个方法:(A,Bservice在两个进程中,所以要用到AIDL来跨进程)
在原本只有一个serviceA的情况下再声明一个serviceB,并为之新开启一个进程;
serviceA被杀死的时候,serviceB立刻重启serviceA;
serviceB被杀死的时候,serviceA立刻重启serviceB;
两个进程互相守护
...
C++控制数据的输出格式及位数
std::cout.setf(std::ios_base::fixed, std::ios_base::floatfield);这设置了一个cout对象的标记,命令cout使用定点表示法。同样,下面的语句导致cout在使用定点表示法时,显示3位小数:std::cout.precision(3);(此后,若输出data,则std::cout.precision(data),data便会显示3位小数)...
三次握手理解 四次挥手(等待2MSL)
三次握手:
A(客户端) b(服务端)
A:我想发消息给你(一次){给了一个SYN a请求}
B:好的,那我准备好了(两次){给了一个ACK a+1确认,给了一个新的SYN b请求}
A:我也准备好了(三次),连接就建立起来了{给了一个ACK b+1请求}
四次挥手:
客户端要在红圈处等待2MSL时长,保证若出现ACK丢...
C++ clock() 计算程序的运行时长
利用clock计算代码块的运行时间
参考网址:https://blog.csdn.net/xiong452980729/article/details/51394036
C++中两种常用的记录程序运行时间的方法的总结
头文件:#include<ctime>
这里还需要定义时间常数:const double CLOCKS_PER_SECOND = ((clock_t)1000);
...
Android 进程分类
进程分五类:前台,可见,服务,后台,空进程
可见进程 :包含了处于OnPause的Activity;
服务进程:一般是service类的进程
后台进程:包含了很多处于OnStop的Activity的进程
空进程:最容易被杀死的进程;...
Android 开发 系统组件集合
常用的TextView、Button、ImageView和几个常用布局就不介绍了,我们介绍一些特别好用但是常常忘记的组件。
标题栏组件
<!--标题栏-->
<android.support.v7.widget.Toolbar
android:layout_width="wrap_content"
android:layout_hei...
Trie树详解及其应用
一、知识简介  
      最近在看字符串算法了,其中字典树、AC自动机和后缀树的应用是最广泛的了,下面将会重点介绍下这几个算法的应用。
      字典树(Trie)可以保存一些字符串-&g...
git的write-tree命令处理逻辑
git的write-tree命令的执行入口main(write-tree.c):
30 #define ORIG_OFFSET (40) /* Enough space to add the header of "tree <size>\0" */
31
32 int main(int argc, char **argv)
33 {
34 unsign...
Android——仿京东秒杀
效果图:
京东秒杀是两个小时一个场次,判断本机的时间进行场次定时,然后在这两个小时里面进行倒计时。
MainActivity
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;...
数据结构| |栈和队列
栈和队列
栈
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。不包含任何元素的栈称为空栈,栈又称为先进后出的线性表。
栈分为:顺序栈与链式栈
注意:顺序栈的所有操作的时间复杂度为O(1)
对于顺序栈的基本操作
第一部分:头文件Stack.h
#ifndef __STACK_H__
#define __STACK...
今日推荐
周排行