- 七、性能测试
for_everyoung01
测试开发功能测试单元测试压力测试
文章目录一、常见的性能测试二、为什么要进行性能测试三、性能测试实施的流程(一)如何确定性能测试的需求1.关键性能指标分析2.关键业务分析(二)常见的性能指标三、性能测试定义四、性能测试关键指标(一)并发用户数一、常见的性能测试系统内部以及软件的代码实现资源泄漏,包括内存泄漏。CPU使用率达到100%,系统被锁定等。线程死锁,阻塞等造成系统越来越慢。查询速度慢,或者列表的效率低。受外部系统影响越来越
- JVM性能调优监控工具jps、jstack、jmap、jhat、jstat使用详解
web718
Java
JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄露线程死锁锁争用(LockContention)J
- 线程中的各种锁概念(死锁,共享锁,公平锁,乐观锁等)
rylzdz
java
什么是线程死锁?线程死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力作用,它们都将无法推进下去。线程A持有资源2,线程B持有资源1,他们同时都想申请对方持有的资源,所以这两个线程就会互相等待而进入死锁状态。产生死锁的四个必要条件是什么?互斥:资源必须处于非共享模式,即一次只有一个进程可以使用。如果另一进程申请该资源,那么必须等待直到该资源被释放为止。占有并等
- C# 无意间写了一段线程死锁的代码
zls365365
c#开发语言
源码如下:privatevoidaction_Click(objectsender,RoutedEventArgse){Taskt=newTask(()=>{for(inti=0;i{lblStr.Content=i.ToString();});manualResetEvent.Set();Console.WriteLine(Thread.CurrentThread.ManagedThreadId
- Linux环境下定位CPU飙高的原因
林犀居士
javaLinuxcpu消耗过高java进程jstack
前言实际开发与维护java项目的时候,经常会遇上cpu消耗过多的情况,导致接口响应迟缓。造成cpu过高的原因很多,比如线程互相等待,线程死锁,网络带宽跟不上等等。本文将通过jdk自带的工具jstack查询日志定位原因。操作步骤查找java进程通过top命令查询消耗cpu最高的java进程,然后shitf+p倒序,如图:user表示该进程的所属用户,在后续的jstack中需要用到。根据进程号查询cp
- Java语法学习线程基础
挽天java
java基本语法大一学javajava学习性能优化
Java语法学习线程基础大纲概念创建线程线程终止常用方法用户线程和守护线程线程的七大状态线程的同步互斥锁线程死锁释放锁具体案例1.概念2.创建线程第一种:classCatextendsThread{inttime=0;@Overridepublicvoidrun(){while(true){System.out.println("只不过是些许风霜罢了"+time++);try{Thread.sle
- Java面试核心基础知识之并发编程
不称职的程序员❦
Javajava面试开发语言
Java面试核心基础知识之并发编程文章目录Java面试核心基础知识之并发编程一、基础知识1、并发编程的优点?2、并发编程的缺点?3、并发编程三要素?4、出现线程安全原因?5、并行和并发区别?6、什么是多线程?7、什么是进程和线程?8、进程与线程的区别?9、什么是上下文切换?10、用户线程和守护线程有什么区别?11、什么是线程死锁?12、形成死锁的四个必要条件?13、如何避免线程死锁?14、创建线程
- 查找线程死锁或挂起的原因
岳尚工
分享一个之前整理的查找线程死锁或挂起的原因;注:服务器环境linux,用于C/C++编写的进程,JAVA原理类似。常见由线程挂起导致的现象程序处理速度由慢到严重超时,最后全部超时,重启程序会循环这一现象,那90%是线程被挂起了。常见的线程挂起或死锁有线程锁里面出现死循环,锁不能被释放,导致其它线程一直等待;锁里加锁,即双重锁;多线程编程里,共享资源没有加线程锁,造成多线程共同强夺资源而挂起。判断进
- 面试八股文(3)
彭于晏689
面试八股文面试java
文章目录1.HashSet如何检查重复2.comparable和Comparator区别3.ConcurrentHashMap和Hashtable区别4.线程和进程5.并发与并行的区别6.为什么使用多线程7.使用多线程可能带来问题8.线程的生命周期和状态9.什么是上下文切换10.线程死锁11.产生死锁四个条件12.如何避免死锁1.HashSet如何检查重复当你把对象加入HashSet时,HashS
- QT中一种隐蔽的死锁
视觉小六
VS+QTqt开发语言
造成死锁的情况只有两种:1.单线程死锁:同一线程对同一个锁连续加锁两次会造成死锁;延伸:在同一个线程中,一个事件分支中对锁A已经加锁,并且引用了QCoreApplication::processEvents(QEventLoop::AllEvents,100)或者QCoreApplication::processEvents(QEventLoop::ExcludeUserInputEvents,1
- 性能测试+Jmeter介绍
蓝白汤姆
jmeter
文章目录什么是性能测试?性能测试的目的性能测试分类一般性能测试负载测试压力测试大数据量测试配置测试稳定性测试性能测试术语虚拟用户并发及并发用户数响应时间每秒事务数吞吐量、吞吐率点击率性能计数器资源利用率性能测试流程测试计划阶段测试设计阶段测试开发阶段测试执行阶段测试结果阶段测试报告阶段常见的性能问题资源泄露资源瓶颈CPU使用率达到100%、系统被锁定等。线程死锁、线程阻塞等造成系统越来越慢,甚至系
- 2023-05-16 (线程面试题总结)
夏目友人lai帐
java开发语言
什么是线程死锁线程A持有资源2,线程B持有资源1,他们同时都想申请对方的资源,所以这两个线程就会互相等待而进入死锁状态。产生死锁的必要条件互斥条件:该资源任意一个时刻只由一个线程占用。请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。循环等待条件:若干进程之间形成一种头尾相接的循环等待
- 什么是线程死锁
lichongxyz
并发编程java开发语言
死锁是指两个或两个以上的进程(线程)在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程(线程)称为死锁进程(线程)。多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。如下图所示,线程A持有资源2,线程B持有资源1,他们同时
- 线程死锁产生的条件
AbleSamd
java开发语言
产生死锁的原因主要是:(1)因为系统资源不足。(2)进程运行推进的顺序不合适。(3)资源分配不当等。如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。产生死锁的四个必要条件:(1)互斥条件:一个资源每次只能被一个进程使用。(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不
- 死锁产生条件
木良Duncan
Java基础java开发语言后端
死锁产生的四个条件:1.互斥条件:一个资源任意一个时刻只由一个线程占用2.请求与保持条件:一个进程因请求资源而被阻塞时,对以获得的资源保持不放。3.不剥夺条件:线程以获得的资源在未被使用完之前不能被其他线程强行剥夺,只能自己使用完毕后才释放资源。4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。如何避免线程死锁上面阐述了死锁产生的四个必要条件,为了避免死锁,我们只要破坏死锁产生的四
- Python学习,对Python多线程死锁问题的巧妙解决方法
sehun_sx
python数据挖掘开发语言python学习学习
死锁死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有2号锁等待1号锁,那么它们永远也等不到执行的那天,这种情况就叫做死锁。关于死锁有一个著名的问题叫做哲学家就餐问题,有5个哲学家围坐在一起,他们每个人需要拿到两个叉子才可以吃饭。如果他们同时拿起自己左手
- 对Python多线程死锁问题的巧妙解决方法
Python 学习者
编程语言python
死锁死锁的原理非常简单,用一句话就可以描述完。就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待。比如A线程持有1号锁,等待2号锁,B线程持有2号锁等待1号锁,那么它们永远也等不到执行的那天,这种情况就叫做死锁。关于死锁有一个著名的问题叫做哲学家就餐问题,有5个哲学家围坐在一起,他们每个人需要拿到两个叉子才可以吃饭。如果他们同时拿起自己左手
- Java相关的性能调优方案
测试开发Kevin
本文介绍了在性能测试过程中Java进程消耗CPU过高的问题排查方法、线程死锁问题排查方法和内存泄露的排查方法Java进程消耗CPU过高的问题排查方法CPU利用率过高,查看JVM中线程占用cpu大小的方法ps–Lfppidtop–ppid-H查看高占用的线程并转化为十六进制的方法printf"%x\n"其中x为线程号然后jstack-l16进制的线程号线程死锁问题排查方法死锁定义线程死锁是指由于两个
- Java 应用常见问题分析
J_HelloWorld
实战问题汇总javajvm问题分析排查
在研发的过程中,我们肯定都遇到过各种各样的应用问题,下面总结一些常见问题及相关解法,包括但不限于CPU飙升、线程死锁、内存泄露、垃圾回收问题、类加载问题、网络问题、日志问题和安全性问题,后续会持续补充完善1、CPU飙升(CPUSpike)a、可能会产生的影响响应时间延长:CPU使用率过高会导致进程无法及时处理请求,从而导致Web应用的响应时间延长,影响用户体验。性能下降:高CPU使用率会消耗系统资
- java并发编程面试题
yujkss
java开发语言
java并发编程面试题何为进程?何为线程?JVM拓展为什么程序计数器、虚拟机栈和本地方法栈是线程私有的呢?为什么堆和方法区是线程共享的呢虚拟机栈和本地方法栈为什么是私有的?一句话简单了解堆和方法区单核CPU上运行多个线程效率一定会高吗?说说线程的生命周期和状态?什么是线程上下文切换?什么是线程死锁?如何避免死锁?如何预防和避免线程死锁?sleep()方法和wait()方法对比共同点:为什么wait
- 多线程进阶
一代骄马
1.线程死锁问题1)dispatch_sync(dispatch_get_main_queue(),^{NSLog(@"1111");});结果:会死锁,崩溃原因:sync同步队列会阻塞当前线程(主线程),直到block里的任务完成。而执行任务的主线程已经被阻塞,不能在执行任务,所以就会死锁。2)dispatch_queue_tqueue=dispatch_queue_create("test",
- JVM:性能监控工具分析和线上问题排查实践
程序员白日梦
jvm开发语言java
前言在日常开发过程中,多少都会碰到一些jvm相关的问题,比如:内存溢出、内存泄漏、cpu利用率飙升到100%、线程死锁、应用异常宕机等。在这个日益内卷的环境,如何运用好工具分析jvm问题,成为每个java攻城狮必备的技能。所以白梦特意整理了jdk自带分析工具的使用,以及常见的jvm问题分析和处理。一、jdk自带分析工具介绍jps(JavaProcessStatus):用途:用于列出当前系统中所有正
- TPS、RT、系统资源的关系分析:
漫漫_mm
三者组合8种情况:1.TPS小RT小资源利用率低1.1RT小,说明性能没有发挥出来1.2负载不够(压力机的问题?脚本的问题?用户数的问题?)1.3负载是否受限(中间件配置、连数的限制)2.TPS小RT大资源利用率低2.1脚本是否有问题(事务包含了太多的东西,场景设置的是否合理)2.2系统资源没有用上(JVM的配置)2.3性能问题,走正常排察流程(CPU等待、线程死锁等)2.4负载没有到位(负载机压
- python进阶--多线程
zyanwei2018
python-learnpython
文章目录多线程vs多进程同步/异步/并发/并行python多线程_thread包的使用threading的使用守护线程-daemon线程常用属性继承方法使用多线程多线程共享全局变量线程非安全线程互斥锁线程死锁可重入锁threading模块拓展threading.Semaphore()threading.Timer全局解释器锁(GIL)多线程vs多进程程序:一堆代码以文本形式存入一个文档进程:程序运
- 使用CountDownLatch做并行任务时死锁问题解决
TechMix
开发经验总结java性能优化
一、业务背景因为业务需求背景,某些功能页面会请求较多的网络接口,毕竟后端更多的是考虑业务的解耦,会造成客户端优化较多接口请求导致的等待耗时(转圈)问题,后端推动接口的合并困难,但是前端也是可以做一些优化的。经过一番调研,最后选择使用较为常用的CountDownLatch配合线程池将无依赖的接口由串行改成并行,起初是使用同一个线程池,结果在拆分任务较多时,并发量大时出现了线程死锁问题,最后通过And
- 03-JVM虚拟机-课堂笔记
FFFSSSFFF6
jvm笔记
3-JVM虚拟机灵魂三问:JVM是什么?JVM广义上指的是一种规范。狭义上的是JDK中的JVM虚拟机。为什么要学习JVM?面试过程中,经常会被问到JVM。研发过程中,肯定会面临一些重难点问题与JVM有关系。例如:线程死锁、内存溢出、项目性能优化等等。基础不牢,地动山摇。想深入掌握Java这门语言,JVM始终是绕不过去的那座大山,早晚得攀。怎么学习JVM?JVM虚拟机部分,我们是这么安排的:JVM基
- 线程的基础
大刀爱敲代码
java基础java线程
文章目录线程的介绍:创建线程的三种方式:一、继承Thread二、实现Runnable接口三、实现Callable接口线程的优先级:多线程:线程终止:线程常用方法:用户线程和守护线程线程的生命周期:Synchronized线程死锁释放锁的操作不会释放锁的操作:线程的介绍:1.什么是程序:2.什么是进程:3.什么是线程:4.线程的相关概念:并发和并行也可以同时存在publicclassCpuNum{p
- GCD什么情况下会创建子线程?
代码之道
分情况讨论1如果是主队列,无论是同步还是异步执行都不会创建子线程。2如果是全局队列,异步执行可以创建多条子线程,同步执行不会创建子线程。3如果是自定义同步队列,异步执行会创建一条子线程,同步执行不会创建子线程。如果是自定义异步队列,异步执行会创建多条子线程,同步执行不会创建子线程。注意:主队列同步执行容易导致线程死锁问题。
- 并发编程面试题(2020最新版)转载
奔跑的小酱油
面试题
文章目录基础知识并发编程的优缺点为什么要使用并发编程(并发编程的优点)并发编程有什么缺点并发编程三要素是什么?在Java程序中怎么保证多线程的运行安全?并行和并发有什么区别?什么是多线程,多线程的优劣?线程和进程区别什么是线程和进程?进程与线程的区别什么是上下文切换?守护线程和用户线程有什么区别呢?如何在Windows和Linux上查找哪个线程cpu利用率最高?什么是线程死锁形成死锁的四个必要条件
- 性能测试概述
秃头的赌徒
java开发语言
一.什么是性能测试1.1生活中遇到的软件的性能问题•资源泄露,包括内存泄露•CPU使用率达到100%,系统被锁定•线程死锁,阻塞等造成系统越来越慢•查询速度慢,或者列表的效率低•受外部系统影响越来越大1.2性能测试定义测试人员借助性能测试工具(Jmeter/LoadRunner),模拟系统在不同的场景下,对应的性能指标是否达到预期1.3性能测试和功能测试有什么区别功能测试:依靠人工执行,不管在什么
- eclipse maven
IXHONG
eclipse
eclipse中使用maven插件的时候,运行run as maven build的时候报错
-Dmaven.multiModuleProjectDirectory system propery is not set. Check $M2_HOME environment variable and mvn script match.
可以设一个环境变量M2_HOME指
- timer cancel方法的一个小实例
alleni123
多线程timer
package com.lj.timer;
import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
public class MyTimer extends TimerTask
{
private int a;
private Timer timer;
pub
- MySQL数据库在Linux下的安装
ducklsl
mysql
1.建好一个专门放置MySQL的目录
/mysql/db数据库目录
/mysql/data数据库数据文件目录
2.配置用户,添加专门的MySQL管理用户
>groupadd mysql ----添加用户组
>useradd -g mysql mysql ----在mysql用户组中添加一个mysql用户
3.配置,生成并安装MySQL
>cmake -D
- spring------>>cvc-elt.1: Cannot find the declaration of element
Array_06
springbean
将--------
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3
- maven发布第三方jar的一些问题
cugfy
maven
maven中发布 第三方jar到nexus仓库使用的是 deploy:deploy-file命令
有许多参数,具体可查看
http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html
以下是一个例子:
mvn deploy:deploy-file -DgroupId=xpp3
- MYSQL下载及安装
357029540
mysql
好久没有去安装过MYSQL,今天自己在安装完MYSQL过后用navicat for mysql去厕测试链接的时候出现了10061的问题,因为的的MYSQL是最新版本为5.6.24,所以下载的文件夹里没有my.ini文件,所以在网上找了很多方法还是没有找到怎么解决问题,最后看到了一篇百度经验里有这个的介绍,按照其步骤也完成了安装,在这里给大家分享下这个链接的地址
- ios TableView cell的布局
张亚雄
tableview
cell.imageView.image = [UIImage imageNamed:[imageArray objectAtIndex:[indexPath row]]];
CGSize itemSize = CGSizeMake(60, 50);
&nbs
- Java编码转义
adminjun
java编码转义
import java.io.UnsupportedEncodingException;
/**
* 转换字符串的编码
*/
public class ChangeCharset {
/** 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块 */
public static final Strin
- Tomcat 配置和spring
aijuans
spring
简介
Tomcat启动时,先找系统变量CATALINA_BASE,如果没有,则找CATALINA_HOME。然后找这个变量所指的目录下的conf文件夹,从中读取配置文件。最重要的配置文件:server.xml 。要配置tomcat,基本上了解server.xml,context.xml和web.xml。
Server.xml -- tomcat主
- Java打印当前目录下的所有子目录和文件
ayaoxinchao
递归File
其实这个没啥技术含量,大湿们不要操笑哦,只是做一个简单的记录,简单用了一下递归算法。
import java.io.File;
/**
* @author Perlin
* @date 2014-6-30
*/
public class PrintDirectory {
public static void printDirectory(File f
- linux安装mysql出现libs报冲突解决
BigBird2012
linux
linux安装mysql出现libs报冲突解决
安装mysql出现
file /usr/share/mysql/ukrainian/errmsg.sys from install of MySQL-server-5.5.33-1.linux2.6.i386 conflicts with file from package mysql-libs-5.1.61-4.el6.i686
- jedis连接池使用实例
bijian1013
redisjedis连接池jedis
实例代码:
package com.bijian.study;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoo
- 关于朋友
bingyingao
朋友兴趣爱好维持
成为朋友的必要条件:
志相同,道不合,可以成为朋友。譬如马云、周星驰一个是商人,一个是影星,可谓道不同,但都很有梦想,都要在各自领域里做到最好,当他们遇到一起,互相欣赏,可以畅谈两个小时。
志不同,道相合,也可以成为朋友。譬如有时候看到两个一个成绩很好每次考试争做第一,一个成绩很差的同学是好朋友。他们志向不相同,但他
- 【Spark七十九】Spark RDD API一
bit1129
spark
aggregate
package spark.examples.rddapi
import org.apache.spark.{SparkConf, SparkContext}
//测试RDD的aggregate方法
object AggregateTest {
def main(args: Array[String]) {
val conf = new Spar
- ktap 0.1 released
bookjovi
kerneltracing
Dear,
I'm pleased to announce that ktap release v0.1, this is the first official
release of ktap project, it is expected that this release is not fully
functional or very stable and we welcome bu
- 能保存Properties文件注释的Properties工具类
BrokenDreams
properties
今天遇到一个小需求:由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了。恰好一个项目中的配置文件会在部署后被某个Java程序修改一下,但修改了之后注释全没了,可能会给以后的参数调整带来困难。所以要解决这个问题。
&nb
- 读《研磨设计模式》-代码笔记-外观模式-Facade
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
* 百度百科的定义:
* Facade(外观)模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,
* 隐藏子系统的复杂性,使子系统更加容易使用。他是为子系统中的一组接口所提供的一个一致的界面
*
* 可简单地
- After Effects教程收集
cherishLC
After Effects
1、中文入门
http://study.163.com/course/courseMain.htm?courseId=730009
2、videocopilot英文入门教程(中文字幕)
http://www.youku.com/playlist_show/id_17893193.html
英文原址:
http://www.videocopilot.net/basic/
素
- Linux Apache 安装过程
crabdave
apache
Linux Apache 安装过程
下载新版本:
apr-1.4.2.tar.gz(下载网站:http://apr.apache.org/download.cgi)
apr-util-1.3.9.tar.gz(下载网站:http://apr.apache.org/download.cgi)
httpd-2.2.15.tar.gz(下载网站:http://httpd.apac
- Shell学习 之 变量赋值和引用
daizj
shell变量引用赋值
本文转自:http://www.cnblogs.com/papam/articles/1548679.html
Shell编程中,使用变量无需事先声明,同时变量名的命名须遵循如下规则:
首个字符必须为字母(a-z,A-Z)
中间不能有空格,可以使用下划线(_)
不能使用标点符号
不能使用bash里的关键字(可用help命令查看保留关键字)
需要给变量赋值时,可以这么写:
- Java SE 第一讲(Java SE入门、JDK的下载与安装、第一个Java程序、Java程序的编译与执行)
dcj3sjt126com
javajdk
Java SE 第一讲:
Java SE:Java Standard Edition
Java ME: Java Mobile Edition
Java EE:Java Enterprise Edition
Java是由Sun公司推出的(今年初被Oracle公司收购)。
收购价格:74亿美金
J2SE、J2ME、J2EE
JDK:Java Development
- YII给用户登录加上验证码
dcj3sjt126com
yii
1、在SiteController中添加如下代码:
/**
* Declares class-based actions.
*/
public function actions() {
return array(
// captcha action renders the CAPTCHA image displ
- Lucene使用说明
dyy_gusi
Lucenesearch分词器
Lucene使用说明
1、lucene简介
1.1、什么是lucene
Lucene是一个全文搜索框架,而不是应用产品。因此它并不像baidu或者googleDesktop那种拿来就能用,它只是提供了一种工具让你能实现这些产品和功能。
1.2、lucene能做什么
要回答这个问题,先要了解lucene的本质。实际
- 学习编程并不难,做到以下几点即可!
gcq511120594
数据结构编程算法
不论你是想自己设计游戏,还是开发iPhone或安卓手机上的应用,还是仅仅为了娱乐,学习编程语言都是一条必经之路。编程语言种类繁多,用途各 异,然而一旦掌握其中之一,其他的也就迎刃而解。作为初学者,你可能要先从Java或HTML开始学,一旦掌握了一门编程语言,你就发挥无穷的想象,开发 各种神奇的软件啦。
1、确定目标
学习编程语言既充满乐趣,又充满挑战。有些花费多年时间学习一门编程语言的大学生到
- Java面试十问之三:Java与C++内存回收机制的差别
HNUlanwei
javaC++finalize()堆栈内存回收
大家知道, Java 除了那 8 种基本类型以外,其他都是对象类型(又称为引用类型)的数据。 JVM 会把程序创建的对象存放在堆空间中,那什么又是堆空间呢?其实,堆( Heap)是一个运行时的数据存储区,从它可以分配大小各异的空间。一般,运行时的数据存储区有堆( Heap)和堆栈( Stack),所以要先看它们里面可以分配哪些类型的对象实体,然后才知道如何均衡使用这两种存储区。一般来说,栈中存放的
- 第二章 Nginx+Lua开发入门
jinnianshilongnian
nginxlua
Nginx入门
本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章:
nginx启动、关闭、重启
http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html
agentzh 的 Nginx 教程
http://openresty.org/download/agentzh-nginx-tutor
- MongoDB windows安装 基本命令
liyonghui160com
windows安装
安装目录:
D:\MongoDB\
新建目录
D:\MongoDB\data\db
4.启动进城:
cd D:\MongoDB\bin
mongod -dbpath D:\MongoDB\data\db
&n
- Linux下通过源码编译安装程序
pda158
linux
一、程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在linux下用man命令查看的命令的文档
二、linux下程序的存放目录 linux程序的存放目录大致有三个地方: /etc, /b
- WEB开发编程的职业生涯4个阶段
shw3588
编程Web工作生活
觉得自己什么都会
2007年从学校毕业,凭借自己原创的ASP毕业设计,以为自己很厉害似的,信心满满去东莞找工作,找面试成功率确实很高,只是工资不高,但依旧无法磨灭那过分的自信,那时候什么考勤系统、什么OA系统、什么ERP,什么都觉得有信心,这样的生涯大概持续了约一年。
根本不是自己想的那样
2008年开始接触很多工作相关的东西,发现太多东西自己根本不会,都需要去学,不管是asp还是js,
- 遭遇jsonp同域下变作post请求的坑
vb2005xu
jsonp同域post
今天迁移一个站点时遇到一个坑爹问题,同一个jsonp接口在跨域时都能调用成功,但是在同域下调用虽然成功,但是数据却有问题. 此处贴出我的后端代码片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
贴出我前端代码片段:
$.aj