- C语言演示多线程编程条件下自旋锁和屏障的使用
嫦娥妹妹等等我
开发语言c语言开源
主线故事:有4个人玩游戏输了,惩罚:1分别使用4台不同的ATM机给我存钱2必须一块一块的存3存完还得在ATM上看一下我的余额设计模式:1每个人使用一条单独的线程,再准备一个计时线程用来输出时间2存钱涉及到对共享资源的读写,是原子操作需要用锁保护这里使用自旋锁3都存完钱后需要等待在各自的ATM上回显余额这里使用屏障技术4如果在主线程中回显对应他们给我打电话告诉我存完了我自己看一下则不需要使用屏障因为
- 【二】【设计模式】建造者模式
妖精七七_
设计模式设计模式建造者模式
建造者模式的引入//C10_1.cpp#include#include"SystemConfig.h"intmain(){SystemConfigconfig("mysql://127.0.0.1/","xiaomu","xiaomumemeda","redis://127.0.0.1/","xiaomuredis","xiaomuredispw","kafka://127.0.0.1","xia
- 大话设计模式之工厂模式
码农客栈
设计模式开发语言
工厂模式(FactoryPattern)是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需指定将要创建的对象的确切类。通过使用工厂模式,我们可以将对象的创建和使用分离,从而使代码更具灵活性和可维护性。在工厂模式中,通常会有三种角色:工厂接口(FactoryInterface):声明了一个用于创建对象的接口,这样所有具体工厂类都必须实现该接口。具体工厂(ConcreteFactory):实
- 《外观模式(极简c++)》
Bovinitwo
设计模式(极简c++版)c++开发语言
本文章属于专栏-概述-《设计模式(极简c++版)》-CSDN博客模式说明方案:外观模式提供了一个统一的接口,简化了一组复杂子系统的访问方式。优点:将客户端与子系统解耦,降低了复杂性。提高了代码的灵活性和可维护性。缺点:可能导致外观类过于庞大,承担了过多的责任。增加了系统的抽象层,有时会影响性能。本质思想:外观模式的本质思想是为一组复杂的子系统提供一个简单的接口,隐藏其复杂性,使得客户端可以更轻松地
- 大话设计模式之代理模式
码农客栈
设计模式代理模式
代理模式(ProxyPattern)是一种结构型设计模式,它允许通过代理对象控制对另一个对象的访问。代理对象充当客户端和实际对象之间的中介,客户端通过代理对象间接访问实际对象,从而可以在访问控制、缓存、延迟加载等方面提供额外的功能。在代理模式中,通常会有三种角色:Subject(抽象主题):声明了真实对象和代理对象的共同接口,这样在任何使用真实对象的地方都可以使用代理对象。RealSubject(
- C#学习笔记
2301_79022588
学习笔记
一、事件派发器在C#中,事件派发器通常是指事件委托和事件处理程序的组合,用于实现一种观察者设计模式。它允许对象在状态发生变化时通知其他对象,从而实现对象之间的解耦。事件派发器的基本组成部分:事件委托(EventDelegate):事件委托是一种特殊的委托,用于封装可以被调用的方法。它定义了事件的签名,即指定了事件处理程序方法的参数和返回类型。通常,事件委托声明在事件派发器类的外部,并且使用dele
- 如果你认为TIA博途静静还是一款工程平台软件的话...
佳途自动化学院小佳老师
近日,在西门子举办的西门子行业大型论坛上,小佳听到了以下对话:A:你听说过西门子TIAbotu软件吗?小B:你说的是西门子全集成自动化工程软件吗?每个来参加论坛的人都知道这一点。小c:一点点但是,作为果你认为TIA-botu只是一个软件工程平台,那么你就可以退出了!作为如果您关注西门子,在许多应用程序站点中,您可以看到TIABroadway经常在工程师的计算机屏幕上闪烁。这套自动化软件,在业内率先
- 【设计模式】Java 设计模式之桥接模式(Bridge)
新手村长
Java设计模式设计模式java桥接模式
桥接模式(BridgePattern)是结构型设计模式的一种,它主要解决的是抽象部分与实现部分的解耦问题,使得两者可以独立变化。这种类型的设计模式属于结构型模式,因为该模式涉及如何组合接口和它们的实现。将抽象部分与实现部分分离,使它们都可以独立地变化。一、桥接模式概述桥接模式的主要思想是将抽象与实现进行解耦,使得二者可以独立进行变化。在桥接模式中,抽象部分和实现部分被分离出来,抽象部分定义了一个抽
- C++面试题
虾仁A
面试c++
目录一、堆和栈的区别二、C++中new、delte和malloc的区别三、什么是源对象四、C++有哪些设计模式五,你使用过C++哪些类型的指针一、堆和栈的区别特性堆栈申请方式由程序员显式申请和释放由系统自动分配和释放分配方式动态分配自动分配分配效率相对较慢,需要遍历内存链表寻找合适空间相对较快,系统直接分配内存地址不连续的内存区域连续的内存区域大小限制大小灵活,上限取决于虚拟内存大小固定,通常较小
- 面试九 设计模式
余生有烟火
面试职场和发展c++linux设计模式
单例模式通常被归类为创建型设计模式,因为它主要关注如何创建对象的实例,以及如何确保在整个应用程序生命周期中只有一个实例存在。1.为什么日志模块和数据库连接池需要单例模式使用单例模式来实现数据库连接池主要有以下几个原因:全局唯一性:数据库连接池在应用程序中通常是一个全局资源,多个部分都需要共享同一个连接池。使用单例模式可以确保整个应用程序中只存在一个数据库连接池的实例,避免了资源浪费和连接冲突。统一
- 【设计模式】单例模式详解
略知java的景初
JAVA设计模式java设计模式
单例模式:定义:确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。为了防止出现重复的创建。单例模式是JAVA中最简单的设计模式之一。属于创建型设计模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有一个对象被创建。这个类提供了访问唯一对象的方法,可以直接访问,不需要new。饿汉式:程序起始就初始化对象。publicclassHungr
- 【设计模式】Java 设计模式之状态模式(State)
新手村长
Java设计模式设计模式java状态模式
深入理解状态模式(State)一、概述状态模式是一种行为设计模式,它允许一个对象在其内部状态改变时改变它的行为。对象看起来好像修改了它的类。状态模式把所有的与一个特定的状态相关的行为放到一个类中,并且将请求委托给当前状态对象来执行。在状态模式中,我们创建表示各种状态的对象和一个行为随状态对象改变而改变的Context对象。二、模式结构状态模式主要包含三个角色:Context(环境类)角色:定义客户
- 设计模式:单例模式
lucky_goose
设计模式单例模式设计模式
单例模式应用场景懒汉模式饿汉模式单例模式应用场景当类的实例只能有一个时,使用单例模式懒汉模式懒汉模式指在第一次获取实例时,才对实例进行初始化//线程不安全的懒汉模式classSingleTon{private://静态成员变量,类内声明,类外初始化staticSingleTon*instance;//构造函数私有化SingleTon(){}SingleTon(constSingleTon&tmp)
- JS的设计模式(23种)
是个车迷
JavaScriptjavascript设计模式开发语言
JavaScript设计模式是指在JavaScript编程中普遍应用的一系列经过验证的最佳实践和可重用的解决方案模板,它们用来解决在软件设计中频繁出现的问题,如对象的创建、职责分配、对象间通信以及系统架构等。设计模式并不特指某个具体的代码片段,而是一种描述在特定上下文中如何组织程序结构和对象交互的通用指导原则。JavaScript设计模式涵盖了创建型模式(处理对象创建的方式)、结构型模式(关注对象
- 解释 RESTful API,以及如何使用它构建 web 应用程序
Snailmi
java
RESTfulAPI是一种基于HTTP协议的软件架构风格,用于构建可伸缩和可扩展的网络服务。它通常用于构建Web应用程序和移动应用程序。RESTfulAPI遵循一组约定,以实现资源的标识、状态和操作的分离。它使用HTTP方法(GET、POST、PUT、DELETE等)来表示不同的操作,并使用URL来标识资源。数据通常以JSON或XML格式进行传输。使用RESTfulAPI构建Web应用程序的过程如
- 设计模式(建造型设计模式——抽象工厂模式)
Rookie!
设计模式之建造型设计模式设计模式抽象工厂模式java
设计模式(建造型设计模式——抽象工厂模式)抽象工厂模式定义抽象工厂模式提供一个接口,用户创建相关或者依赖对象的家族,而不需要明确指定具体类。抽象工厂允许客户端使用抽象的接口来创建一组相关的产品,而不需要关系实际产出的具体产品是什么,这样一来客户可以从具体的产品关系中解耦。模式结构AbstractFactory:抽象工厂。抽象工厂定义了一个接口,所有的具体工厂都必须实现此接口,这个接口包含了一组方法
- Android 观察者模式
Pengzi@USC
android观察者模式
在Android中,观察者模式(ObserverPattern)是一种常用的设计模式,用于在对象之间建立一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Android开发中,这种模式通常用于处理UI组件与数据模型之间的交互。在Android中使用观察者模式,可以按照以下步骤进行:1.定义主题(Subject):主题通常包含一个观察者列表,以及注册、注销和通
- 《适配器模式(极简c++)》
Bovinitwo
设计模式(极简c++版)c++设计模式适配器模式
本文章属于专栏-概述-《设计模式(极简c++版)》-CSDN博客本章简要说明适配器模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。模式说明方案:适配器模式,允许接口不兼容的类能够相互合作。它充当两个不兼容接口之间的桥梁。优点:解耦性增强:允许不兼容的接口之间进行通信,降低系统组件间的耦合度。复用性增加:可以重复使用现有的类,而不需要修改其原始代码。缺点:过多的适配器类:如果系统中接口
- 《桥接模式(极简c++)》
Bovinitwo
设计模式(极简c++版)c++设计模式
本文章属于专栏-概述-《设计模式(极简c++版)》-CSDN博客本章简要说明桥接模式。本文分为模式说明、本质思想、实践建议、代码示例四个部分。模式说明方案:将抽象部分与它的实现部分分离,使多个组合在一起的品类可以独立变化。优点:分离抽象和实现部分,使得它们可以独立地变化,易于扩展。通过对象组合而不是继承的方式实现解耦,提高了代码的灵活性。缺点:增加了系统的复杂度,因为需要多个抽象类和实现类。本质思
- 什么是设计模式?
工业甲酰苯胺
设计模式数据库
什么是设计模式如果将代码的设计和编写比喻为搭积木,那就像搭建一座精美的建筑一样。每一块积木代表着代码中的一个组件、类或函数,它们拥有不同的形状、功能和特性。通过巧妙地组合和搭建这些积木,我们可以构建出一个结构良好、稳固可靠的软件系统。在搭积木的过程中,我们需要考虑每一块积木的作用和位置,确保它们能够恰如其分地组合在一起,形成一个完整的整体。高内聚的积木可以使得代码更易于理解和维护,而低耦合的积木则
- 春招面试高频题目总结
小杰312
面试笔试面试c++职场和发展学习
面试问题redis可以用于进程间通信吗?Why?How?--->延展一下有哪些进程间通信技术,优劣如何?有大量的插入sql语句,一条条的插入性能很差,如何通过事务进行优化?保证线程安全的策略有哪些?你知道哪些设计模式?有什么理解?单例、工厂方法、责任链、模板方法、策略模式都是基类抽象固定方法。子类提供具体实现。如何实现服务端与客户端的即时通讯?消息队列如何保证这个消息一定执行?不会丢失?持久化消息
- 设计模式(结构型设计模式——装饰者模式)
Rookie!
设计模式之结构型设计模式设计模式java开发语言装饰器模式
设计模式(结构型设计模式——装饰者模式)装饰者模式基本定义装饰模式指的是在不必改变原类文件和使用继承(也是与适配器模式不一样的地方)的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。模式结构Component:抽象构件。是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent:具体构件。是定义了一个具体的对象,也可以给这个对象添加
- 结构型设计模式 — 代理模式
Chase_stars
把时间用在思考上是最能节省时间的事情。—卡曾斯写在前面本篇讲解代理模式,分静态代理和动态代理两部分,由浅入深更好的理解代理模式。代理模式又被称为委托模式,在现实生活中类似代理模式这种场景有很多,比如请律师打官司,代购,代理上网等。代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。代理模式.jpg抽象主题类(Subject):声明真实主题与代理的公共的接口方法。真实主题类(RealSub
- 设计之魅:高质量面向对象设计的秘密
JAVA新视界
java开发语言算法
设计模式是在软件设计中用于解决常见问题的经过验证的解决方案。设计模式并不是代码或库,而是一种解决问题的思考方式。在使用设计模式时,需要考虑一些基本的设计原则,这些原则有助于构建灵活、可维护和可扩展的软件系统。以下是一些常见的设计原则:单一职责原则(SingleResponsibilityPrinciple-SRP):它指导我们确保一个类只有一个责任。类的责任应该是单一的,即一个类应该只有一个引起它
- 设计模式学习笔记 - 设计原则与思想总结:2.运用学过的设计原则和思想完善之前性能计数器项目
陈建111
设计模式-实战设计原则思想实战
概述在《设计原则-10.实战:针对非业务的通用框架开发,如何做需求分析和设计及如何实现一个支持各种统计规则的性能计数器》中,我们讲解了如何对一个性能计数器框架进行分析、设计与实现,并且实践了一些设计原则和设计思想。当时提到,小步快跑、逐步迭代式一种非常实用的开发模式。所以,针对这个框架的开发,我们分多个版本来逐步完善。《设计原则-10.实战:针对非业务的通用框架开发,如何做需求分析和设计及如何实现
- 设计模式学习笔记 - 规范与重构 - 7.实践:通过一段ID生成器代码,学习如何发现代码质量问题
陈建111
设计模式-实战代码质量重构
前言前面讲了重构相关的知识点。用一句话总结:重构就是发现代码质量问题,并且对其进行优化的过程。今天借助一个ID生成器代码,给你展示以下重构的大致过程。背景介绍在软件开发中,ID常用来表示一些业务信息的唯一标识,比如订单的单号、数据库中的唯一主键。假设你正参与一个后端业务系统的开发,为了方便在请求出错时排查问题,在写代码的时候会在关键路径上打印日志。某个请求出错后,希望能搜索出这个请求对应的所有日志
- 设计模式学习笔记 - 规范与重构 - 8.实践:程序出错返回啥?NULL、异常、错误吗、空对象?重构ID生成器,处理各函数的异常
陈建111
设计模式-实战程序出错时返回内容
概述我们可以把函数的运行结果分为两类。一类是预期结果,也就是正常情况下输出的结果。一类是非预期的结果,也就是函数在异常(或出错)情况下输出的结果。在正常情况下,函数返回数据的类型非常明确,但是在异常情况下,函数的返回数据类型确非常灵活,有多种选择,比如异常(Exception)、错误码、NULL值、特殊值(比如-1)、空对象(比如空字符串、空集合)等。在异常情况下,函数到底该返回什么样的数据类型,
- 探索SOCKS5代理、代理IP、HTTP与网络安全
京新云S5
web安全安全网络tcp/iphttp
在这个数字化时代,网络安全已成为我们日常生活中不可或缺的一部分。作为一名软件工程师,深入理解网络通信的核心技术,如SOCKS5代理、代理IP、HTTP协议,以及它们在网络安全中的应用,对于设计和实施安全的网络应用至关重要。本文将为你揭开这些技术背后的神秘面纱,探讨它们在网络安全领域的实际应用和重要性。SOCKS5代理:网络隐身斗篷SOCKS5代理是一种网络协议,提供了一种将网络请求从客户端转发到服
- 揭开访问者模式的神秘面纱-轻松增强对象行为
danci_ww
设计模式设计模式访问者模式软件工程java面试程序人生
个人主页:danci_系列专栏:《设计模式》制定明确可量化的目标,坚持默默的做事。转载自:探索设计模式的魅力:揭开访问者模式的神秘面纱-轻松增强对象行为探索设计模式的魅力:揭开访问者模式的神秘面纱轻松增强对象行为文章目录一、案例场景1.1经典的运用场景1.2一坨坨代码实现1.3痛点二、解决方案2.1定义2.2案例分析2.3访问者模式结构图及说明2.4使用访问者模式重构示例2.5重构后解决的问题一、
- java中常见的设计模式以及常见的面试题
山间漫步人生路
java设计模式
在Java中,常见的设计模式同样包括创建型模式、结构型模式和行为型模式。下面是一些在Java中特别常见的设计模式及其简要描述:创建型模式:单例模式(SingletonPattern):确保一个类只有一个实例,并提供一个全局访问点。Java中的java.lang.Runtime就是一个单例模式的经典例子。工厂模式(FactoryPattern):定义一个用于创建对象的接口,让子类决定实例化哪一个类。
- 安装数据库首次应用
Array_06
javaoraclesql
可是为什么再一次失败之后就变成直接跳过那个要求
enter full pathname of java.exe的界面
这个java.exe是你的Oracle 11g安装目录中例如:【F:\app\chen\product\11.2.0\dbhome_1\jdk\jre\bin】下的java.exe 。不是你的电脑安装的java jdk下的java.exe!
注意第一次,使用SQL D
- Weblogic Server Console密码修改和遗忘解决方法
bijian1013
Welogic
在工作中一同事将Weblogic的console的密码忘记了,通过网上查询资料解决,实践整理了一下。
一.修改Console密码
打开weblogic控制台,安全领域 --> myrealm -->&n
- IllegalStateException: Cannot forward a response that is already committed
Cwind
javaServlets
对于初学者来说,一个常见的误解是:当调用 forward() 或者 sendRedirect() 时控制流将会自动跳出原函数。标题所示错误通常是基于此误解而引起的。 示例代码:
protected void doPost() {
if (someCondition) {
sendRedirect();
}
forward(); // Thi
- 基于流的装饰设计模式
木zi_鸣
设计模式
当想要对已有类的对象进行功能增强时,可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能。
自定义的类成为装饰类
模仿BufferedReader,对Reader进行包装,体现装饰设计模式
装饰类通常会通过构造方法接受被装饰的对象,并基于被装饰的对象功能,提供更强的功能。
装饰模式比继承灵活,避免继承臃肿,降低了类与类之间的关系
装饰类因为增强已有对象,具备的功能该
- Linux中的uniq命令
被触发
linux
Linux命令uniq的作用是过滤重复部分显示文件内容,这个命令读取输入文件,并比较相邻的行。在正常情 况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如 果输入文件用“- ”表示,则从标准输入读取。
AD:
uniq [选项] 文件
说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个
- 正则表达式Pattern
肆无忌惮_
Pattern
正则表达式是符合一定规则的表达式,用来专门操作字符串,对字符创进行匹配,切割,替换,获取。
例如,我们需要对QQ号码格式进行检验
规则是长度6~12位 不能0开头 只能是数字,我们可以一位一位进行比较,利用parseLong进行判断,或者是用正则表达式来匹配[1-9][0-9]{4,14} 或者 [1-9]\d{4,14}
&nbs
- Oracle高级查询之OVER (PARTITION BY ..)
知了ing
oraclesql
一、rank()/dense_rank() over(partition by ...order by ...)
现在客户有这样一个需求,查询每个部门工资最高的雇员的信息,相信有一定oracle应用知识的同学都能写出下面的SQL语句:
select e.ename, e.job, e.sal, e.deptno
from scott.emp e,
(se
- Python调试
矮蛋蛋
pythonpdb
原文地址:
http://blog.csdn.net/xuyuefei1988/article/details/19399137
1、下面网上收罗的资料初学者应该够用了,但对比IBM的Python 代码调试技巧:
IBM:包括 pdb 模块、利用 PyDev 和 Eclipse 集成进行调试、PyCharm 以及 Debug 日志进行调试:
http://www.ibm.com/d
- webservice传递自定义对象时函数为空,以及boolean不对应的问题
alleni123
webservice
今天在客户端调用方法
NodeStatus status=iservice.getNodeStatus().
结果NodeStatus的属性都是null。
进行debug之后,发现服务器端返回的确实是有值的对象。
后来发现原来是因为在客户端,NodeStatus的setter全部被我删除了。
本来是因为逻辑上不需要在客户端使用setter, 结果改了之后竟然不能获取带属性值的
- java如何干掉指针,又如何巧妙的通过引用来操作指针————>说的就是java指针
百合不是茶
C语言的强大在于可以直接操作指针的地址,通过改变指针的地址指向来达到更改地址的目的,又是由于c语言的指针过于强大,初学者很难掌握, java的出现解决了c,c++中指针的问题 java将指针封装在底层,开发人员是不能够去操作指针的地址,但是可以通过引用来间接的操作:
定义一个指针p来指向a的地址(&是地址符号):
- Eclipse打不开,提示“An error has occurred.See the log file ***/.log”
bijian1013
eclipse
打开eclipse工作目录的\.metadata\.log文件,发现如下错误:
!ENTRY org.eclipse.osgi 4 0 2012-09-10 09:28:57.139
!MESSAGE Application error
!STACK 1
java.lang.NoClassDefFoundError: org/eclipse/core/resources/IContai
- spring aop实例annotation方法实现
bijian1013
javaspringAOPannotation
在spring aop实例中我们通过配置xml文件来实现AOP,这里学习使用annotation来实现,使用annotation其实就是指明具体的aspect,pointcut和advice。1.申明一个切面(用一个类来实现)在这个切面里,包括了advice和pointcut
AdviceMethods.jav
- [Velocity一]Velocity语法基础入门
bit1129
velocity
用户和开发人员参考文档
http://velocity.apache.org/engine/releases/velocity-1.7/developer-guide.html
注释
1.行级注释##
2.多行注释#* *#
变量定义
使用$开头的字符串是变量定义,例如$var1, $var2,
赋值
使用#set为变量赋值,例
- 【Kafka十一】关于Kafka的副本管理
bit1129
kafka
1. 关于request.required.acks
request.required.acks控制者Producer写请求的什么时候可以确认写成功,默认是0,
0表示即不进行确认即返回。
1表示Leader写成功即返回,此时还没有进行写数据同步到其它Follower Partition中
-1表示根据指定的最少Partition确认后才返回,这个在
Th
- lua统计nginx内部变量数据
ronin47
lua nginx 统计
server {
listen 80;
server_name photo.domain.com;
location /{set $str $uri;
content_by_lua '
local url = ngx.var.uri
local res = ngx.location.capture(
- java-11.二叉树中节点的最大距离
bylijinnan
java
import java.util.ArrayList;
import java.util.List;
public class MaxLenInBinTree {
/*
a. 1
/ \
2 3
/ \ / \
4 5 6 7
max=4 pass "root"
- Netty源码学习-ReadTimeoutHandler
bylijinnan
javanetty
ReadTimeoutHandler的实现思路:
开启一个定时任务,如果在指定时间内没有接收到消息,则抛出ReadTimeoutException
这个异常的捕获,在开发中,交给跟在ReadTimeoutHandler后面的ChannelHandler,例如
private final ChannelHandler timeoutHandler =
new ReadTim
- jquery验证上传文件样式及大小(好用)
cngolon
文件上传jquery验证
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="jquery1.8/jquery-1.8.0.
- 浏览器兼容【转】
cuishikuan
css浏览器IE
浏览器兼容问题一:不同浏览器的标签默认的外补丁和内补丁不同
问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。
碰到频率:100%
解决方案:CSS里 *{margin:0;padding:0;}
备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
daizj
shell$#$?特殊变量
前面已经讲到,变量名只能包含数字、字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量。例如,$ 表示当前Shell进程的ID,即pid,看下面的代码:
$echo $$
运行结果
29949
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个
- 程序设计KISS 原则-------KEEP IT SIMPLE, STUPID!
dcj3sjt126com
unix
翻到一本书,讲到编程一般原则是kiss:Keep It Simple, Stupid.对这个原则深有体会,其实不仅编程如此,而且系统架构也是如此。
KEEP IT SIMPLE, STUPID! 编写只做一件事情,并且要做好的程序;编写可以在一起工作的程序,编写处理文本流的程序,因为这是通用的接口。这就是UNIX哲学.所有的哲学真 正的浓缩为一个铁一样的定律,高明的工程师的神圣的“KISS 原
- android Activity间List传值
dcj3sjt126com
Activity
第一个Activity:
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import a
- tomcat 设置java虚拟机内存
eksliang
tomcat 内存设置
转载请出自出处:http://eksliang.iteye.com/blog/2117772
http://eksliang.iteye.com/
常见的内存溢出有以下两种:
java.lang.OutOfMemoryError: PermGen space
java.lang.OutOfMemoryError: Java heap space
------------
- Android 数据库事务处理
gqdy365
android
使用SQLiteDatabase的beginTransaction()方法可以开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,如果程序执行到endTransaction()之前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,如果没有调用setTransactionSuccessful() 方法则回滚事务。事
- Java 打开浏览器
hw1287789687
打开网址open浏览器open browser打开url打开浏览器
使用java 语言如何打开浏览器呢?
我们先研究下在cmd窗口中,如何打开网址
使用IE 打开
D:\software\bin>cmd /c start iexplore http://hw1287789687.iteye.com/blog/2153709
使用火狐打开
D:\software\bin>cmd /c start firefox http://hw1287789
- ReplaceGoogleCDN:将 Google CDN 替换为国内的 Chrome 插件
justjavac
chromeGooglegoogle apichrome插件
Chrome Web Store 安装地址: https://chrome.google.com/webstore/detail/replace-google-cdn/kpampjmfiopfpkkepbllemkibefkiice
由于众所周知的原因,只需替换一个域名就可以继续使用Google提供的前端公共库了。 同样,通过script标记引用这些资源,让网站访问速度瞬间提速吧
- 进程VS.线程
m635674608
线程
资料来源:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001397567993007df355a3394da48f0bf14960f0c78753f000 1、Apache最早就是采用多进程模式 2、IIS服务器默认采用多线程模式 3、多进程优缺点 优点:
多进程模式最大
- Linux下安装MemCached
字符串
memcached
前提准备:1. MemCached目前最新版本为:1.4.22,可以从官网下载到。2. MemCached依赖libevent,因此在安装MemCached之前需要先安装libevent。2.1 运行下面命令,查看系统是否已安装libevent。[root@SecurityCheck ~]# rpm -qa|grep libevent libevent-headers-1.4.13-4.el6.n
- java设计模式之--jdk动态代理(实现aop编程)
Supanccy2013
javaDAO设计模式AOP
与静态代理类对照的是动态代理类,动态代理类的字节码在程序运行时由Java反射机制动态生成,无需程序员手工编写它的源代码。动态代理类不仅简化了编程工作,而且提高了软件系统的可扩展性,因为Java 反射机制可以生成任意类型的动态代理类。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。
&
- Spring 4.2新特性-对java8默认方法(default method)定义Bean的支持
wiselyman
spring 4
2.1 默认方法(default method)
java8引入了一个default medthod;
用来扩展已有的接口,在对已有接口的使用不产生任何影响的情况下,添加扩展
使用default关键字
Spring 4.2支持加载在默认方法里声明的bean
2.2
将要被声明成bean的类
public class DemoService {