- 浏览: 829711 次
- 性别:
- 来自: 上海
最新评论
-
mmaidajielan:
很nice
sudo工具(命令) -
JsonLiangyoujun:
Blanche35 写道 希望大神可以多分享一点经验我会继续分 ...
Linux基础知识 -
JsonLiangyoujun:
Blanche35 写道谢谢分享,初学者的我,看了很有感触 ! ...
Linux常用命令参考与指南 -
Blanche35:
希望大神可以多分享一点经验
Linux基础知识 -
Blanche35:
谢谢分享,初学者的我,看了很有感触 !
Linux常用命令参考与指南
文章列表
介绍:
代理模式(Proxy Pattern)为其他对象提供一种代理,以控制对某类对象的访问。
目的:
解决在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制等),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。
实现:
我们先来看看代理模式的类图:
(1)创建一个被代理对象和代理对象的公共接口或父类。
(2)创建被代理对象,即目标对象。
(3)创建代理对象。
是不是觉得很简单呢?这就是我们 ...
IDEA的快捷键据我个人统计约150-200个,全部记住并不现实。并且有些快捷键比较鸡肋,有些快捷键使用频率很低,有些快捷键又几乎作用相同,而有些快捷键不太建议使用以免误操作,所以我精简并归纳总结了以下快捷键(按使用顺序或使用频率排序!)。只要将这些快捷键熟练运用便可进入“无鼠标开发”的模式,成倍提高开发效率。使用心得:个人建议作为一个开发人员或经常使用IDEA的人,不要修改IDEA本身的快捷键(如有冲突尽量修改其它工具的快捷键),也尽量少添加自定义快捷键。
【查找切换】
01.双击 Shift 查找所有
02.Ctrl + N 查找类;Ctrl + Shi ...
TortoiseGit 使用扩展名为ppk的密钥,而不是ssh-keygen生成的rsa密钥。使用命令ssh-keygen -C "邮箱地址" -t rsa产生的密钥在TortoiseGit中不能用。而基于git的开发必须要用到rsa密钥,因此需要用到TortoiseGit的putty key generator工具来生成既适用于git的rsa密钥也适用于TortoiseGit的ppk密钥,具体配置步骤如下:
1)运行TortoiseGit开始菜单中的PuTTYgen程序(目录为TortoiseGit\bin),如下图示
2)点击“Generate”按钮,鼠标在上图的空白 ...
我们都知道跳出一个循环使用break即可。那么如何跳出多重嵌套循环呢,java虽然保留了goto关键字,但是却不支持goto语法。其实我们只需要加一个标识就行了:
loop:for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
for (int k = 0; k < 5; k++) {
if(i==1&&i==j&&i==k)
break loop;
}
}
}
其实要跳出多重循环 ...
说到不定长参数方法,其实有一个非常常用的方法,大家都用过的那就是main方法。下面就一起来看看不定长参数方法的demo;
package com;
public class UnfixedParameter {
public static void main(String[] args) {
testOne(new String[]{});
te ...
首先提醒一点:这里要说明的是文件换行符,而不是程序中输出字符串的换行符(例如:eclipse控制台输出在java程序中用\r或\n或者\r\n都能达到换行输出的效果)。
操作系统换行符
ASCII(美国信息交换标准码)中有这样两个字符CR(编码为13)和 LF(编码为10),在编程中通常表示为'\r'和'\n'。以下是各操作系统的换行符:
Unix和类Unix(如Linux):换行符采用 \n
Windows和MS-DOS:换行符采用 \r\n
Mac OS X:换行符采用 \n
实例说明
例如我现在从数据库读出数据写入一个文件 ...
用迭代器取值时抛出的异常:java.util.NoSuchElementException: Hashtable Enumerator
代码示例://使用迭代器遍历
Iterator<String> it = tableProper.stringPropertyNames().iterator();
sqlMap = new HashMap<String,String>();
while(it.hasNext()){
sqlMap.put(it.next(), tableProper.getProperty(it.n ...
以下是笔者抽空整理的MyE(笔者所用版本为MyE10)常见问题及解决办法:
1、myeclipse的一个JavaScript 验证器导致的报错
(1)选择项目点击右键选择Properties(在最下面)
(2)选择Builders,将Builders选项下的Java ...
先来简单的解释一下这三个名词:
处理器:即中央处理器(CPU,Central Processing Unit),它是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit)。它的功能主要是解释计算机指令以及处理计算机软件中的数据。
进程:进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进程设计的计算机结构中,进程是程序的基本执行实体;在当代面向线程设计的计算机结构中,进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。
...
了解设计模式的朋友们,想必都听说过“六大设计原则”吧。其实最经典的 23 种设计模式中或多或少地都在使用这些设计原则,也就是说,设计模式是站在设计原则的基础之上的。所以在学习设计模式之前,很有必要对这些设计原则先做一下了解。
六大设计原则
先看一幅图吧:
这幅图清晰地表达了六大设计原则,但仅限于它们叫什么名字而已,它们具体是什么意思呢?下面我将从原文、译文、理解、应用,这四个方面分别进行阐述。
1. 单一职责原则(Single Responsibility Principle - SRP)
原文:There should never be more than one ...
先看一个问题:i + 1 < i 成立吗?答案是肯定的。下面我们用代码来证明:
@Test
public void test(){
int i = Integer.MAX_VALUE;
System.err.println("i="+i+",i+1="+(i+1)+" result:"+((i+1)<i));
}
输出结果如下:
i=2147483647,i+1=-2147483648 result:true
为什么会这样呢?
这是因为整数在内存中使用的是补码 ...
当eclipse出现卡死或闪退,而此时已经启动的Tomcat未被关闭。那么当你重启eclipse时,你是无法启动Tomcat的,会报错告诉你地址已存在(已被引用)或端口已被占用的问题。
解决办法:打开任务管理器(Ctrl+Alt+Delete),找到javaw.exe进程,点击结束进程。
单例模式如果细分的话至少有8种以上(笔者知道的实现方式大概就有10种左右)的实现方式,这其中有一些实现方式是存在问题的,例如:线程安全问题、原子性问题等。笔者将列举出可行的单例模式的实现方式(存在问题的方式将不在此列举),并分析其中的优缺点。
以下是笔者的代码,其中饿汉式和懒汉式是以往最经典和常用的方式:
饿汉式(静态常量):
/**
* 饿汉式(静态常量)
* 优点:这种写法比较简单,在类装载的时候就完成实例化。避免了线程同步问题。
* 缺点:在类装载的时候就完成实例化,没有达到Lazy Loading的效果。如果从始至终从未
* 使用过这个实例,则会造 ...
sudo简介:
sudo 是Linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令。这样不仅减少了root用户的登陆次数和管理时间,同样也提高了安全性。因为如果普通用户要执行root才能执行的命令的时候、就必须切换到root用户、这样他必须要知道root用户的密码、这样也就意味着要对每一个这样的用户下放root的密码,这样很不安全。
sudo设计者的宗旨:
给用户尽可能少的权限但仍允许完成他们的工作。
sudo的特点:
# 1. sudo能够限制指定用户在指定主机上运行某些命令。
# 2. sudo可以提供日志 ...
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。
MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,它分为社区版和商业版, ...