- 【java多线程】线程通信(以生产者消费者问题为例)
6<7
javapython开发语言
线程通信(主讲wait方法和notifyAll方法)在Java多线程编程中,线程通信是指多个线程之间相互协作、交换信息的过程。为了实现线程通信,Java提供了一些方法,下面详细介绍常用的线程通信方法:基于Object类的方法在Java中,每个对象都有一个内置的监视器(锁),基于这个特性,Object类提供了三个用于线程通信的方法:wait()、notify()和notifyAll()。这些方法必须
- Java中的线程中断
雾里有果橙
java开发语言jvm
1线程中断相关方法介绍Java多线程编程中的interrupt()方法、isInterrupted()方法和interrupted()方法都是跟线程中断相关的方法,都非常重要。这三个方法名称非常相似,不理解原理时容易混淆,这里分别介绍下,以加以区分。由于interrupt()方法和isInterrupted()方法都是实例方法(非类上的静态方法),因此我在前面加了个thread1,表示一个实例化的
- Java多线程与并行计算:深入剖析Java线程,线程池,以及利用Java进行并行计算的策略
哎 你看
Javajava开发语言线程并行并发
一、Java线程概述线程基础概念:线程是操作系统调度的最小单元,它是进程的一部分,每个线程都有自己的程序计数器、栈和局部变量。线程之间共享进程的堆和方法区。Java线程创建和启动:在Java中主要有两种方式创建线程:继承Thread类:创建一个新class,继承自Thread类,然后重写run()方法,并在该方法中执行需要在该线程中运行的代码。最后创建该class的实例,并调用其start()方法
- Java多线程与高并发专题——阻塞和非阻塞队列的并发安全原理是什么?
黄雪超
技术基础java开发语言并发编程
引入之前我们探究了常见的阻塞队列的特点,在本文我们就以ArrayBlockingQueue为例,首先分析BlockingQueue,也就是阻塞队列的线程安全原理,然后再看看它的兄弟——非阻塞队列的并发安全原理。ArrayBlockingQueue源码分析我们首先看一下ArrayBlockingQueue的源码,ArrayBlockingQueue有以下几个重要的属性:/***用于存储队列元素的数组
- java多线程——单例模式
invictusQAQ
单例模式
目录1.概念2.实现1.概念1.1什么是单例模式单例模式能保证某个类在程序中只存在唯一一份实例,而不会创建出多个实例.这一点在很多场景上都需要。比如JDBC中的DataSource实例就只需要一个1.2单例模式分类单例模式具体的实现方式,分成"饿汉"和"懒汉"两种.所谓”饿汉“模式,就是指程序启动则立刻创建实例,可以形象理解为”饿汉“迫不及待想要吃饭(创建实例)。但不管是否使用都创建对象可能会浪费
- Java多线程编程实战:synchronized与Lock锁对比
微风灬浮尘
javajavajava入门java多线程
一、锁机制全景图:从内核态到用户态1.Java锁分类与演进史锁机制悲观锁乐观锁synchronizedReentrantLockCAS版本号机制2.锁升级全流程(synchronized底层原理)无锁→偏向锁(单线程)→轻量级锁(CAS自旋)→重量级锁(OS互斥量)锁膨胀条件:偏向锁:-XX:BiasedLockingStartupDelay=0(默认延迟4秒)重量级锁:自旋超过阈值(-XX:Pr
- Java多线程和锁_八股&场景题
吃海鲜的骆驼
面试专题java开发语言
Java多线程_八股&场景题Java多线程是面试和实际开发中非常重要的内容。以下是一些常见的Java多线程八股文问题和场景题,以及详细答案和示例代码。1.Java中创建线程的几种方式?答案:主要有以下几种方式:继承Thread类:重写run()方法,通过start()启动线程。实现Runnable接口:实现run()方法,通过Thread类启动线程。实现Callable接口:通过FutureTas
- Java多线程与高并发专题——什么是阻塞队列?
黄雪超
技术基础java开发语言并发编程
引入阻塞队列(BlockingQueue)是一种线程安全的队列数据结构,它的主要特点是:线程安全:多个线程可以安全地同时访问队列。阻塞操作:当队列为空时,从队列中获取元素的操作会被阻塞,直到队列中有元素可用;当队列为满时,向队列中插入元素的操作会被阻塞,直到队列有空间可用。BlockingQueueBlockingQueue继承了Queue接口,是队列的一种。Queue和BlockingQueue
- JAVA后端面试八股文汇总(2)
使峹行者
java面试后端
二、Java多线程篇1.简述java内存模型(JMM)java内存模型定义了程序中各种变量的访问规则。其规定所有变量都存储在主内存,线程均有自己的工作内存。工作内存中保存被该线程使用的变量的主内存副本,线程对变量的所有操作都必须在工作空间进行,不能直接读写主内存数据。操作完成后,线程的工作内存通过缓存一致性协议将操作完的数据刷回主存。2.简述as-if-serial编译器等会对原始的程序进行指令重
- Java进阶——一篇搞懂多线程实战
1加1等于
Javajava
本文主要是对Java多线程相关知识进行总结和讲解。一、线程创建方式继承Thread类:通过重写run()方法来定义线程的执行逻辑,只能单继承。实现Runnable接口:这种方式更加灵活,避免了单继承的问题,而且同一个Runnable实例可以被多个线程共享,提高了代码的复用性,因此在实际开发中更为推荐。实现Callable接口:与前两种方式不同,Callable接口支持线程执行后返回结果,并且可以抛
- Java多线程 理发店小测试
不被定义的~wolf
Java多线程java安全
功能需求如下:一个理发店里有两张理发椅子,各有一个理发师(线程),还有5张用户椅子。初始主线程每间隔100毫秒产生一个用户(线程),连续产生20名用户。一个用户理发需要300毫秒。用户线程的逻辑:1)如果理发店客满(两个理发师正忙理发,5张客户椅子有人坐着等待),理发店外的用户(线程),将在外等待。2)但理发店中一张用户椅子空,则允许一个用户进入并坐上椅子等待。3)但一个用户理完发,允许5张椅子上
- Java多线程与高并发专题——为什么 Map 桶中超过 8 个才转为红黑树?
黄雪超
技术基础java开发语言并发编程
引入JDK1.8的HashMap和ConcurrentHashMap都有这样一个特点:最开始的Map是空的,因为里面没有任何元素,往里放元素时会计算hash值,计算之后,第1个value会首先占用一个桶(也称为槽点)位置,后续如果经过计算发现需要落到同一个桶中,那么便会使用链表的形式往后延长,俗称“拉链法”。当链表长度大于或等于阈值(默认为8)的时候,如果同时还满足容量大于或等于MIN_TREEI
- JavaAdv——多线程同步案例(售票系统)
搬码红绿灯
java
售票系统假设您正在开发一个基于Java多线程技术的售票系统。该系统需要支持多个售票窗口同时进行售票操作,并且要确保不会出现超卖或漏卖的情况。具体来说,系统应该具备如下特点:票的数量有限:初始时系统中有100张票。多线程售票:系统支持多个售票窗口同时进行售票操作。线程安全:必须确保即使在高并发情况下也不会出现超卖或漏卖的问题。Runnable==查看结果,分析代码==publicvoidrun(){
- Java多线程,线程安全,线程死锁,线程通信,线程同步(上)
Alie鱼
Java高级java多线程线程安全
什么是线程??线程是计算机执行的最小单位,在一个进程中可以有多个不同线程多线程有什么用?干什么的?单线程就像一个瓶子戳一个洞,而多线程是戳了多个洞,可以提高程序的执行效率,一个事情分配到不同线程同时执行,在写的程序往往会遇到同时处理多个问题的情况,而单线程必须上一个任务完成后才能执行下一个任务无法完成同时处理多个任务的情况,而多线程就是来解决这个问题的,不用等待上一个任务结束,提高了程序的响应度和
- JAVA多线程详解(超详细)
m0_74823434
面试学习路线阿里巴巴资料职业发展javapython开发语言后端
目录一、线程简介1、进程、线程2、并发、并行、串行3、进程的三态二、线程实现1、继承Thread类2、实现Runnable接口3、实现Callable接口(不常用)三、线程常用方法1、线程的状态2、线程常用方法四、多线程1、守护(Deamon)线程2、多线程并发与同步3、死锁4、Lock(锁)5、线程协作6、线程池一、线程简介1、进程、线程程序:开发写的代码称之为程序。程序就是一堆代码,一组数据和
- Java多线程--创建多线程的基本方式二:实现Runnable接口
雨翼轻尘
Java基础java多线程创建多线程的基本方式二实现Runnable接口
文章目录一、方式2:实现Runnable接口(1)步骤(2)举例1、案例12、案例23、案例3(3)代码及总结二、练习(1)方式一、继承Thread类1、方法1:继承Thread类--标准写法2、方法2:继承Thread类--变形写法(2)方式二、实现Runnable接口1、方法3:实现Runnable接口--标准写法2、方法4:实现Runnable接口--变形写法一、方式2:实现Runnable
- 线程池:从入门到精通,只需一杯咖啡的时间
码熔burning
Java多线程java开发语言
目录一、什么是线程池?二、线程池的核心参数三、线程池的工作流程(餐厅的比喻)四、为什么要用线程池?五、Java中常用的线程池:六、总结我的其他文章也讲解的比较有趣,如果喜欢博主的讲解方式,可以多多支持一下,感谢!了解线程的创建方式请看:Java多线程:四种创建方式,让你彻底搞懂!咱今儿个来好好讲讲线程池,保证你能看懂,听懂,且能灵活使用一、什么是线程池?想象一下,你开了一家餐厅。️没有线程池:每来
- Java多线程【4】interrupt打断线程、两阶段终止模式
王乐乐君
Javajavajvm开发语言
系列文章目录Java多线程【1】synchronized对象锁、内置锁使用Java多线程【2】Javawait/notify的使用于同步模式保护性暂停Java多线程【3】同步模式之保护性暂停案例相亲问题Java多线程【4】interrupt线程的打断机制、两阶段终止模式Java多线程【5】异步模式之生产者消费者Java多线程【6】LockSupportpark/unpark原理和使用以及于wait
- Java多线程基础八 两阶段终止设计模式(Two Phase Termination)
ScottePerk
多线程两阶段终止线程安全中断处理程序监控清理工作
两阶段终止设计模式是一种优雅的终止线程的方式。两阶段指的是一个线程发送终止另一个线程的请求,另一个线程接受到请求终止自身并做相应的处理。即两阶段指的是请求阶段和处理阶段。比如我们要写一个系统监控程序,监控程序有死循环,每2s监控一次系统状况,没有中断的话会一直监控下去,如果有中断,就退出程序,并做一些保存工作。publicclassSystemMonitor{privateThreadmonito
- 【Java线程中断】线程中断后为什么要调用interrupt()?
星星点点洲
Javajava
我们在处理中断异常时InterruptedException,往往会调用Thread.currentThread().interrupt(),你知道这么做的目的和用处吗?这是Java多线程编程中一个重要的实践,主要原因有以下:interrupt为了继续传递中断信号1.恢复中断状态当线程在阻塞方法(如sleep()、wait()、join())中被中断时,JVM会做两件事:抛出Interrupted
- 最全JAVA面试题及答案(200道)
Java布道者
java开发语言
最近很多同学在忙着找工作,给大家整理了一份非常全面的Java面试题及答案。涉及的内容非常全面,包含:多线程、JVM、Spring、MySQL、Redis、Dubbo…等内容,希望对找工作的同学有所帮助。文末有题目答案~Java多线程面试题并发编程三要素?同步方法和同步块哪个是更好的选择?谈谈原子性?哪些使用到了?谈谈可见性?哪些使用到了?谈谈有序性?举一个例子?什么是线程池?线程池有哪些创建方式?
- java多线程进阶(九)ConcurrentHashMap
烟锁迷城
进阶源码多线程java开发语言
目录1、简单介绍1.2、常见方法1.2.1、computeIfAbsent:如果不存在则初始化1.2.2、computeIfPresent:如果存在则修改1.2.3、compute:无论是否存在,都将数值赋予1.2.4、merge:合并2、数据结构2.1、put方法2.1.1、初始化2.1.2、创建新节点2.1.3、辅助扩容2.1.4、插入算法2.1.5、treeifyBin:辅助扩容与红黑树转换
- Java多线程总结(一)
奋起直追CDS
Java
一、守护进程我认为学习java的最佳资料就是两个东西,一个是其JDK文档,一个就是源码。我们先来看看JDK文档中对于Thread类的描述,下面摘取一些重要信息,然后逐个展开讲解。(JDK文档)线程是程序中的执行线程。Java虚拟机允许应用程序并发地运行多个执行线程。每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程。每个线程都可以或不可以标记为一个守护程序。当某个线程中运行的代码创建一个
- Java多线程-并发编程锁Synchronized和Lock
骆驼整理说
Java基础javajvm后端分布式架构
目录可见性和顺序性锁的分类可重入锁可中断锁公平锁读写锁锁的级别锁为什么要分级别锁有哪些级别synchronized锁升级原理锁的实现synchronized和ReentrantLocksynchronized和Lock死锁问题怎么防止死锁线程安全的两个方面一个是执行控制和内存可见。执行控制的目的是控制代码执行顺序以及是否可以并发执行,内存可见控制的是线程执行结果在内存中对其它线程的可见性。根据Ja
- Java多线程和并发编程面试题和参考答案100多道(持续更新)
大模型大数据攻城狮
java面试线程进程并发读写锁
目录描述线程的生命周期及其状态什么是守护线程,并举例说明其用途比较synchronized和volatile关键字的使用场景和区别什么是死锁,并举例说明如何避免创建线程有哪几种方式,并比较它们的优缺点什么是线程池,并解释其工作原理描述Java中线程池的几种实现方式及其特点如何在Java中停止一个线程解释Executor框架及其组件解释synchronized关键字的工作原理什么是锁,以及Java中
- Java多线程——任务执行和取消
松仔log
#java多线程javawindows开发语言
Executor框架publicinterfaceExecutor{voidexecute(Runnablecommand);}Executor基于生产者—消费者模式,用Runnable表示任务,提交任务操作相当于生产者,执行任务的线程相当于消费者线程池可通过Executors中的静态工厂方法创建线程池newFixedThreadPool():固定长度线程池,每提交一个任务就创建一个线程,直到达到
- Java多线程与高并发专题——线程池源码剖析
黄雪超
技术基础java开发语言并发编程
引入我们先梳理一下如何自定义线程池,首先ThreadPoolExecutor中,一共提供了7个参数,每个参数都是非常核心的属性,在线程池去执行任务时,每个参数都有决定性的作用。但是如果直接采用JDK提供的方式去构建,可以设置的核心参数最多就两个,这样就会导致对线程池的控制粒度很粗。所以推荐自己去自定义线程池,也就是手动的去newThreadPoolExecutor设置他的一些核心属性。自定义构建线
- 计划任务线程池ScheduledThreadPoolExecutor原理
萧离x1aolone
java多线程java
Preview部分内容来源:《深入浅出Java多线程》-计划任务前置知识:Java线程池原理,不了解的同学可以看这个:Java线程池执行与线程复用的原理JDK版本:OpenJDK16.0.2使用样例将消息(包含发送时间)存储在数据库中,用一个定时任务,每隔1秒检查数据库在当前时间有没有需要发送的消息:privatestaticfinalScheduledExecutorServiceexecuto
- Java多线程与高并发专题——线程池补充1
黄雪超
技术基础java并发编程开发语言
引入首先,如上图所示,结合上一篇线程池相关文章的内容,我们总结一下线程池的内部结构如下:第一部分是线程池管理器,它主要负责管理线程池的创建、销毁、添加任务等管理操作,它是整个线程池的管家。第二部分是工作线程,也就是图中的线程t0~t9,这些线程勤勤恳恳地从任务队列中获取任务并执行。第三部分是任务队列,作为一种缓冲机制,线程池会把当下没有处理的任务放入任务队列中,由于多线程同时从任务队列中获取任务是
- Java多线程与高并发专题——线程池补充2
黄雪超
技术基础java开发语言并发编程
引入前面我们通过以下问题梳理了线程池相关内容:Java多线程与高并发专题——线程池为什么要使用线程池?如何使用线程池?使用线程池的优缺点?线程池的各个参数的含义?线程池有哪几种拒绝策略?Java多线程与高并发专题——线程池补充1(线程池的内部结构梳理)有哪些常见的线程池?线程池常用的阻塞队列有哪些?为什么不应该自动创建线程池?本篇会通过下面几个问题去进行补充:合适的线程数量是多少?CPU核心数和线
- jQuery 跨域访问的三种方式 No 'Access-Control-Allow-Origin' header is present on the reque
qiaolevip
每天进步一点点学习永无止境跨域众观千象
XMLHttpRequest cannot load http://v.xxx.com. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access. test.html:1
- mysql 分区查询优化
annan211
java分区优化mysql
分区查询优化
引入分区可以给查询带来一定的优势,但同时也会引入一些bug.
分区最大的优点就是优化器可以根据分区函数来过滤掉一些分区,通过分区过滤可以让查询扫描更少的数据。
所以,对于访问分区表来说,很重要的一点是要在where 条件中带入分区,让优化器过滤掉无需访问的分区。
可以通过查看explain执行计划,是否携带 partitions
- MYSQL存储过程中使用游标
chicony
Mysql存储过程
DELIMITER $$
DROP PROCEDURE IF EXISTS getUserInfo $$
CREATE PROCEDURE getUserInfo(in date_day datetime)-- -- 实例-- 存储过程名为:getUserInfo-- 参数为:date_day日期格式:2008-03-08-- BEGINdecla
- mysql 和 sqlite 区别
Array_06
sqlite
转载:
http://www.cnblogs.com/ygm900/p/3460663.html
mysql 和 sqlite 区别
SQLITE是单机数据库。功能简约,小型化,追求最大磁盘效率
MYSQL是完善的服务器数据库。功能全面,综合化,追求最大并发效率
MYSQL、Sybase、Oracle等这些都是试用于服务器数据量大功能多需要安装,例如网站访问量比较大的。而sq
- pinyin4j使用
oloz
pinyin4j
首先需要pinyin4j的jar包支持;jar包已上传至附件内
方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
/**
* 将汉字转换为全拼
* @param src 你的需要转换的汉字
* @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;fal
- 微博发送私信
随意而生
微博
在前面文章中说了如和获取登陆时候所需要的cookie,现在只要拿到最后登陆所需要的cookie,然后抓包分析一下微博私信发送界面
http://weibo.com/message/history?uid=****&name=****
可以发现其发送提交的Post请求和其中的数据,
让后用程序模拟发送POST请求中的数据,带着cookie发送到私信的接入口,就可以实现发私信的功能了。
- jsp
香水浓
jsp
JSP初始化
容器载入JSP文件后,它会在为请求提供任何服务前调用jspInit()方法。如果您需要执行自定义的JSP初始化任务,复写jspInit()方法就行了
JSP执行
这一阶段描述了JSP生命周期中一切与请求相关的交互行为,直到被销毁。
当JSP网页完成初始化后
- 在 Windows 上安装 SVN Subversion 服务端
AdyZhang
SVN
在 Windows 上安装 SVN Subversion 服务端2009-09-16高宏伟哈尔滨市道里区通达街291号
最佳阅读效果请访问原地址:http://blog.donews.com/dukejoe/archive/2009/09/16/1560917.aspx
现在的Subversion已经足够稳定,而且已经进入了它的黄金时段。我们看到大量的项目都在使
- android开发中如何使用 alertDialog从listView中删除数据?
aijuans
android
我现在使用listView展示了很多的配置信息,我现在想在点击其中一条的时候填出 alertDialog,点击确认后就删除该条数据,( ArrayAdapter ,ArrayList,listView 全部删除),我知道在 下面的onItemLongClick 方法中 参数 arg2 是选中的序号,但是我不知道如何继续处理下去 1 2 3
- jdk-6u26-linux-x64.bin 安装
baalwolf
linux
1.上传安装文件(jdk-6u26-linux-x64.bin)
2.修改权限
[root@localhost ~]# ls -l /usr/local/jdk-6u26-linux-x64.bin
3.执行安装文件
[root@localhost ~]# cd /usr/local
[root@localhost local]# ./jdk-6u26-linux-x64.bin&nbs
- MongoDB经典面试题集锦
BigBird2012
mongodb
1.什么是NoSQL数据库?NoSQL和RDBMS有什么区别?在哪些情况下使用和不使用NoSQL数据库?
NoSQL是非关系型数据库,NoSQL = Not Only SQL。
关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。
在处理非结构化/半结构化的大数据时;在水平方向上进行扩展时;随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。
在考虑数据库的成熟
- JavaScript异步编程Promise模式的6个特性
bijian1013
JavaScriptPromise
Promise是一个非常有价值的构造器,能够帮助你避免使用镶套匿名方法,而使用更具有可读性的方式组装异步代码。这里我们将介绍6个最简单的特性。
在我们开始正式介绍之前,我们想看看Javascript Promise的样子:
var p = new Promise(function(r
- [Zookeeper学习笔记之八]Zookeeper源代码分析之Zookeeper.ZKWatchManager
bit1129
zookeeper
ClientWatchManager接口
//接口的唯一方法materialize用于确定那些Watcher需要被通知
//确定Watcher需要三方面的因素1.事件状态 2.事件类型 3.znode的path
public interface ClientWatchManager {
/**
* Return a set of watchers that should
- 【Scala十五】Scala核心九:隐式转换之二
bit1129
scala
隐式转换存在的必要性,
在Java Swing中,按钮点击事件的处理,转换为Scala的的写法如下:
val button = new JButton
button.addActionListener(
new ActionListener {
def actionPerformed(event: ActionEvent) {
- Android JSON数据的解析与封装小Demo
ronin47
转自:http://www.open-open.com/lib/view/open1420529336406.html
package com.example.jsondemo;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
impor
- [设计]字体创意设计方法谈
brotherlamp
UIui自学ui视频ui教程ui资料
从古至今,文字在我们的生活中是必不可少的事物,我们不能想象没有文字的世界将会是怎样。在平面设计中,UI设计师在文字上所花的心思和功夫最多,因为文字能直观地表达UI设计师所的意念。在文字上的创造设计,直接反映出平面作品的主题。
如设计一幅戴尔笔记本电脑的广告海报,假设海报上没有出现“戴尔”两个文字,即使放上所有戴尔笔记本电脑的图片都不能让人们得知这些电脑是什么品牌。只要写上“戴尔笔
- 单调队列-用一个长度为k的窗在整数数列上移动,求窗里面所包含的数的最大值
bylijinnan
java算法面试题
import java.util.LinkedList;
/*
单调队列 滑动窗口
单调队列是这样的一个队列:队列里面的元素是有序的,是递增或者递减
题目:给定一个长度为N的整数数列a(i),i=0,1,...,N-1和窗长度k.
要求:f(i) = max{a(i-k+1),a(i-k+2),..., a(i)},i = 0,1,...,N-1
问题的另一种描述就
- struts2处理一个form多个submit
chiangfai
struts2
web应用中,为完成不同工作,一个jsp的form标签可能有多个submit。如下代码:
<s:form action="submit" method="post" namespace="/my">
<s:textfield name="msg" label="叙述:">
- shell查找上个月,陷阱及野路子
chenchao051
shell
date -d "-1 month" +%F
以上这段代码,假如在2012/10/31执行,结果并不会出现你预计的9月份,而是会出现八月份,原因是10月份有31天,9月份30天,所以-1 month在10月份看来要减去31天,所以直接到了8月31日这天,这不靠谱。
野路子解决:假设当天日期大于15号
- mysql导出数据中文乱码问题
daizj
mysql中文乱码导数据
解决mysql导入导出数据乱码问题方法:
1、进入mysql,通过如下命令查看数据库编码方式:
mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| Variable_name&nbs
- SAE部署Smarty出现:Uncaught exception 'SmartyException' with message 'unable to write
dcj3sjt126com
PHPsmartysae
对于SAE出现的问题:Uncaught exception 'SmartyException' with message 'unable to write file...。
官方给出了详细的FAQ:http://sae.sina.com.cn/?m=faqs&catId=11#show_213
解决方案为:
01
$path
- 《教父》系列台词
dcj3sjt126com
Your love is also your weak point.
你的所爱同时也是你的弱点。
If anything in this life is certain, if history has taught us anything, it is
that you can kill anyone.
不顾家的人永远不可能成为一个真正的男人。 &
- mongodb安装与使用
dyy_gusi
mongo
一.MongoDB安装和启动,widndows和linux基本相同
1.下载数据库,
linux:mongodb-linux-x86_64-ubuntu1404-3.0.3.tgz
2.解压文件,并且放置到合适的位置
tar -vxf mongodb-linux-x86_64-ubun
- Git排除目录
geeksun
git
在Git的版本控制中,可能有些文件是不需要加入控制的,那我们在提交代码时就需要忽略这些文件,下面讲讲应该怎么给Git配置一些忽略规则。
有三种方法可以忽略掉这些文件,这三种方法都能达到目的,只不过适用情景不一样。
1. 针对单一工程排除文件
这种方式会让这个工程的所有修改者在克隆代码的同时,也能克隆到过滤规则,而不用自己再写一份,这就能保证所有修改者应用的都是同一
- Ubuntu 创建开机自启动脚本的方法
hongtoushizi
ubuntu
转载自: http://rongjih.blog.163.com/blog/static/33574461201111504843245/
Ubuntu 创建开机自启动脚本的步骤如下:
1) 将你的启动脚本复制到 /etc/init.d目录下 以下假设你的脚本文件名为 test。
2) 设置脚本文件的权限 $ sudo chmod 755
- 第八章 流量复制/AB测试/协程
jinnianshilongnian
nginxluacoroutine
流量复制
在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发
- 电商系统商品表设计
lkl
DROP TABLE IF EXISTS `category`; -- 类目表
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `category` (
`id` int(11) NOT NUL
- 修改phpMyAdmin导入SQL文件的大小限制
pda158
sqlmysql
用phpMyAdmin导入mysql数据库时,我的10M的
数据库不能导入,提示mysql数据库最大只能导入2M。
phpMyAdmin数据库导入出错: You probably tried to upload too large file. Please refer to documentation for ways to workaround this limit.
- Tomcat性能调优方案
Sobfist
apachejvmtomcat应用服务器
一、操作系统调优
对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。
【适用场景】 任何项目。
二、Java虚拟机调优
应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。
J
- SQLServer学习笔记
vipbooks
数据结构xml
1、create database school 创建数据库school
2、drop database school 删除数据库school
3、use school 连接到school数据库,使其成为当前数据库
4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一