- effective java笔记
Mrryo
1、Java中创建(实例化)对象的五种方式:a、new一个对象。b、反射,Objecta=Class.forName("java.lang.Object").newInstance();c、通过I/O流(包括反序列化)。d、对象的clone()。e、通过工厂方法返回对象。2、抽象类,要想对其实例化,只能用getInstance().(单例模式)。3、内存泄漏:用数组、集合、缓存、监听器等时要注意释
- java笔记--构造函数
吃饱喝足搬代码丶
特点:1函数名与类名相同2不用定义返回值类型3没有具体的返回值作用:给对象进行初始化注意:1默认构造函数的特点2多个构造函数是以重载的形式(方法名相同,参数列表不一样)存在的定义一个Person类:classPerson{privateStringname;privateintage;//这里主要讲构造函数,忽略getter和setter//定义一个Person类的构造函数Person(){//构
- MySQL高级篇——排序、分组、分页优化
程序员小海绵【vincewm】
Java学习路线数据库sqljava
导航:【Java笔记+踩坑汇总】Java基础+进阶+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud+黑马旅游+谷粒商城+学成在线+MySQL高级篇+设计模式+牛客面试题目录5.排序优化5.1排序优化建议5.2测试5.2.1案例验证5.3.2练习5.3范围查询时索引字段选择5.4filesort算法5.4.1双路排序和单路排序5.4.2调优filesort6.分组优化
- Java笔记 迭代器Itr
blossom_6694
1、Itr是AbstractList里面的一个内部类,实现了Iterator接口。publicIteratoriterator(){returnnewItr();}2、分析Itr。privateclassItrimplementsIterator{//下一个元素的索引位置intcursor=0;//lastRet表示上一个元素的索引位置,如果执行了remove操作会置为-1intlastRet=-
- 【我与Java的成长记】之多态,重载与重写详解
古德猫宁-
Java笔记java开发语言经验分享笔记学习
系列文章目录能看懂文字就能明白系列C语言笔记传送门Java笔记传送门个人主页:古德猫宁-信念如阳光,照亮前行的每一步文章目录系列文章目录*信念如阳光,照亮前行的每一步*前言一、多态的概念二、多态的实现条件三、补充:重载与重写重载的概念重载的例子重载的规则重写的概念重写的例子重写的规则重载与重写的区别四、向上转型和向下转型向上转型向下转型多态的优缺点前言本节目标:理解多态的思想,掌握多态的使用,理解
- 【我与Java的成长记】之String类详解
古德猫宁-
Java笔记java开发语言学习笔记经验分享
系列文章目录能看懂文字就能明白系列C语言笔记传送门Java笔记传送门个人主页:古德猫宁-信念如阳光,照亮前行的每一步文章目录系列文章目录*信念如阳光,照亮前行的每一步*前言一、字符串构造二、String类的特性三、StringBuilder和StringBuffer总结三、StringBuilder一些常见的方法前言String类是Java中用于表示字符串的核心类之一。它提供了丰富的方法来操作字符
- Java笔记 --- 六、IO流
Marchwho
java笔记idea
六、IO流概述分类纯文本文件:Windows自带的记事本打开能读懂的eg:txt文件,md文件,xml文件,lrc文件IO流体系字节流FileOutputStream操作本地文件的字节输出流,可以把程序中的数据写到本地文件中创建字节输出流对象写数据释放资源写数据的3种方式FileInputStream操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中创建字节输入流对象读数据释放资源循环读
- Java笔记 --- 七、多线程
Marchwho
java笔记idea
七、多线程线程线程是操作系统能够运行调度的最小单位被包含在进程之中,是进程的实际运行单位应用软件中相互独立,可以同时运行的功能每一个线程都有自己的栈并发和并行并发:在同一时刻,有多个指令在单个CPU上交替执行并行:在同一时刻,有多个指令在多个CPU上同时执行多线程的实现方式继承Thread类定义一个类继承Thread重写run方法创建类的对象,调用start()方法开启线程实现Runnable接口
- 【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
程序员小海绵【vincewm】
Java面试题汇总Java学习路线jvmjava开发语言
导航:【黑马Java笔记+踩坑汇总】JavaSE+JavaWeb+SSM+SpringBoot+瑞吉外卖+SpringCloud+黑马旅游+谷粒商城+学成在线+设计模式+牛客面试题目录三、String3.1.String常量池3.2.请你说说String类3.3.newString("abc")创建了几个字符串对象?3.4.String、StringBuffer、Stringbuilder有什么区
- java该怎么做笔记_java学习笔记整理,如何整理java笔记?
不拾掇能这样吗
java该怎么做笔记
俗话说:“好记性不如烂笔头”,不得不说,这句话在大部分时候都是适用的。特别是刚刚入门学习java的朋友,是不是也觉得整理学习笔记是一件麻烦的事?下面就带大家来看看到底应该如何整理java笔记比较好呢?学习笔记切记过于复杂冗余,简单明了为上,可以选择一款比较方便的专门记录学习笔记的App,分门别类的记录为上。示例目录:基本概念篇操作系统中heap和stack的区别1.什么是基于注解的切面实现2.什么
- Java 学习和实践笔记(1)
复业思维20240108
学习笔记java
2024年,决定好好学习计算机语言Java.B站上选了这个课程:【整整300集】浙大大佬160小时讲完的Java教程(学习路线+Java笔记)零基础,就从今天开始学吧。在这些语言中,C语言是最基础的语言,绝大多数语言的底层都是基于C来扩展的。C是面向过程的语言。C++是基于C而扩展成的面向对象语言。Java是在C++基础上做了优化,减少了一些复杂性,又称为C++-.Javascript与Java,
- Java笔记01
大萌光武帝
系统软件:win7、Linux应用软件:qq、微信应用软件运行在系统软件上主要开发系统软件Windows的dos命令:1.cls2.exit3右键标记4.cd5.切换盘符C:D:E:文件扩展名——》组织——》文件夹和搜索选项——》查看机器语言低级语言高级语言javase是基础javaee是大方向可面向对象可移植性健壮性简单性多线程java系统不能和操作系统直接打交道编译过程:编译java源文件需要
- 【Think In Java笔记】第1章 对象导论
weixin_30703911
java
1.对象导论OOP面向对象编程C、Basic等语言所在的抽象仍要求在解决问题时基于计算机的解决,而不是基于所解决问题的结构来考虑。要建立起问题空间的元素和解空间的对象之间一一映射的关系万物皆对象;程序是对象的集合每个对象都提供服务当正在试图开发或者理解一个程序设计时,最好的方法之一就是将对象想象成“服务提供者”。程序本身将向用户提供服务,它将通过调用其他对象提供的服务来实现这一目的。被隐藏的具体实
- java listiterator_Java笔记--Java的List、Iterator用法
衣锦夜行的李公子
javalistiterator
1.List的使用准备知识:List继承自Collection接口。List是一种有序集合,List中的元素可以根据索引(顺序号:元素在集合中处于的位置信息)进行取得/删除/插入操作。跟Set集合不同的是,List允许有重复元素。对于满足e1.equals(e2)条件的e1与e2对象元素,可以同时存在于List集合中。当然,也有List的实现类不允许重复元素的存在。List还提供一个listIte
- Java笔记(网络编程、正则表达式)
独行乡窝窝侠
java笔记
一、网络编程1.网络协议(TCP/IP)1.1.概述传输层协议中有两个非常重要的协议:传输控制协议TCP(TransmissionControlProtocol)用户数据报协议UDP(UserDatagramProtocol)**TCP/IP以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)**而得名,实际上是一组协议,包括多个具有不同功能且互为关联的协议。IP(InternetPro
- JAVA笔记5
Lucky_Husky
java笔记开发语言
Java语法基础1.标识符:用来标识类名、对象名、变量名、方法名、类型名、数组名、文件名的有效字符序列。2.合法的标识符:由字母、数字、下划线“_”、美元符号“$”或者“¥”组成,并且首字符不能是数字。不能把java关键字和保留字作为标识符。标识符对大小写敏感。关键字:Java语言中已经赋予了特定含义的3.变量:程序运行期间可以被改变的量。在程序中使用变量,必须先创建它并为它取一个名字,并且指明它
- Java笔记:成员变量,局部变量,类变量,实例变量以及注意事项
哦00
局部变量:方法中定义的变量。成员变量(类似C中的全局变量):成员变量定义在方法体和语句块之外。成员变量就概括描述了类中的变量,不区分static。是以下变量的统称。类变量(静态变量):独立于方法之外的变量,属于类本身。需要static修饰,事实上,类变量就是以static修饰的独立于方法之外的成员变量。类变量必须在方法、构造方法和语句块之外。无论一个类创建了多少个对象,类只拥有类变量的一份拷贝。实
- Java笔记 --- 一、双列集合
Marchwho
javaidea笔记
一、双列集合双列集合的特点Map创建Map对象时,要规定键和值的泛型Map是一个接口,不能直接创建,要创建实例化对象Map的遍历通过键找值先获取到键的对象,并放到一个单列集合中(map.KeySet()方法)遍历通过键调用get()方法获取到值遍历可以用增强for,迭代器,Lambda表达式(forEach())键值对(forEach的底层原理)通过调用map.entrySet()把键值对放到一个
- Java笔记 --- 五、File
Marchwho
javaidea笔记
五、File概述将字符串变成File对象,再去使用里面的方法父级路径:除了文件本身的路径C:\Users\Desktop子级路径:文件名m.txt常见的成员方法判断、返回length只能获取文件的大小(字节数量)创建、删除delete方法默认只能删除文件和空文件夹delete方法直接删除,不走回收站获取并遍历套路进入文件夹遍历数组判断判断
- Java笔记 --- 二、Stream流
Marchwho
javaidea笔记
二、Stream流结合Lambda表达式,简化集合、数组的操作获取Stream流对象单列集合获取Stream流双列集合获取Stream流数组获取Stream流一堆零散的数据获取Stream流Stream流的静态方法of的形参是一个可变参数,可以传递零散数据,也可以传递数组但是数组必须是引用数据类型Stream流的中间方法Stream流的终结方法收集方法可以放到(list,Set,Map)中
- Java笔记 --- 三、方法引用
Marchwho
java笔记idea
三、方法引用概述分类引用静态方法引用成员方法本类中注意,静态方法中没有this,需要创建本类的对象引用构造方法其他的调用方式使用类名引用成员方法引用数组的构造方法
- Java笔记 --- 四、异常
Marchwho
java笔记开发语言
四、异常Java.lang.ThrowableErrorException(异常)异常的作用异常的处理方式JVM默认的处理方式捕获异常(自己处理)try里面没有出现异常,就不会运行catch里面的代码如果出现多个异常,需要多个catch要处理异常(如果异常存在父子关系,父类应该写在最下面)在JDK7以后,可以在catch中同时捕获多个异常,中间用|隔开,采取同一种方案如果try中没有捕获到,采用虚
- Java笔记(多线程)
独行乡窝窝侠
java笔记
文章目录一、多线程1.程序,进程,线程2.并行和并发3.单核CPU和多核CPU4.多线程优缺点和应用场景5.线程创建5.1.Thread5.2.Runnable5.3.继承和实现的区别6.优先级和常用方法6.1.优先级概述6.2.常用方法6.3.使用方式7.生命周期8.线程控制8.1.线程停止8.2.线程合并8.3.Yield9.线程同步9.1.概述9.2.不同步带来的问题9.3.解决方案9.3.
- Java笔记(数据流、File、对象流)
独行乡窝窝侠
java笔记
文章目录一、数据流1.概述2.使用二、File1.概述2.构造方法3.常用方法4.使用方式5.递归复制三、对象流1.概述2.注意3.序列化4.反序列化5.serialVersionUID6.Transient一、数据流1.概述数据流:为了方便操作java中的基本类型和字符串类型数据,可以使用数据流来进行操作以二进制形式进行数据传递,并且读写顺序及类型必须一致,常用于网络数据传递2.使用写入try(
- Java笔记(集合、散列表、Map、泛型)
独行乡窝窝侠
java笔记
一、集合1.Set和排序set:无序不可重复无序:不保证有序,就是有可能有序,有可能无序不可重复:不能添加重复数据HashSetTreeSet:底层是红黑树,会自动排序,意味着里面存储的必须是同类型的元素对象数字:从小到大排序字符串:一次比较每一位的ascll码值日期:自然日期顺序1.1.TreeSetpublicclassCollection_01_TreeSet{publicstaticvoi
- Java笔记(IO流)
独行乡窝窝侠
java笔记
一、IO1.概述流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作input:输入ouput:输出2.分类按数据处理类型的不同,分为字节流和字符流按数据流向的不同,分为输入流和输出流。(入和出是相对于内存来讲的)按功能不同,分为节点流和处理流节点流:直接操作数据源处理流:对
- java笔记(String、StringBuffer、包装类)
独行乡窝窝侠
java笔记
一、String1.概述java.lang.String字符串类底层是一个字符数组,所以他的很多特性就是数组则特性字符串与一旦确定,不能修改为了提高字符串效率,java虚拟机使用了一种"缓存技术",字符串常量池创建一个字符串对象的时候,先查看字符串常量池中有没有该字符串对象如果没有就创建一个,如果有就直接指向该对象有时候字符串类型可以用==进行比较,是因为他们的内存地址一样(仅限字面量),数字或字
- java笔记(类之间关系、内部类、设计模式)
独行乡窝窝侠
java笔记
一、类之间关系1.继承//类和类之间是单继承classAextendsCode{}interfaceB{}interfaceC{}//接口和接口之间是继承,多继承用逗号隔开interfaceDextendsB,C{}2.实现//类和接口之间是实现,多个实现用逗号隔开classEimplementsB,C{}3.依赖//局部变量保存的是其他类的引用//依赖关系Aa=newA();//类和类之间是单继
- Java笔记(数据类型,变量,运算符)
独行乡窝窝侠
java笔记
1.数据类型分为:(1)基本数据类型数值型整数byte字节8bit-128~127short短整型16bit-32768~32767int整形32bit-2147483648~2147483647long长整型64bit小数(浮点数)字符型char16bit无符号位布尔型boolean8bittrue/false(2)引用数据类型类,数组,接口2.进制二进制(0b开头)八进制(以0开头),十进制,
- Java笔记(死锁、线程通信、单例模式)
独行乡窝窝侠
java笔记
一、死锁1.概述死锁:死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法往下执行。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程原理:某个线程执行完成,需要先后嵌套锁定两个对象,在这个过程中,先锁定了第一个对象另一个线程执行完成也需要先后嵌套锁定两个对象,在这个过程中,先锁定了第二个对象第一个线程执
- 算法 单链的创建与删除
换个号韩国红果果
c算法
先创建结构体
struct student {
int data;
//int tag;//标记这是第几个
struct student *next;
};
// addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
if(h==NULL) //??????
- 《大型网站系统与Java中间件实践》第2章读后感
白糖_
java中间件
断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。
看完整章内容,
- zeus持久层spring事务单元测试
deng520159
javaDAOspringjdbc
今天把zeus事务单元测试放出来,让大家指出他的毛病,
1.ZeusTransactionTest.java 单元测试
package com.dengliang.zeus.webdemo.test;
import java.util.ArrayList;
import java.util.List;
import org.junit.Test;
import
- Rss 订阅 开发
周凡杨
htmlxml订阅rss规范
RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。
RSS
- 分页查询实现
g21121
分页查询
在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。
按实现形式分前台分页和服务器分页:
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据
- spring jms异步消息处理
510888780
jms
spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下:
- highCharts柱状图
布衣凌宇
hightCharts柱图
第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController { private UserServi
- 我的spring学习笔记2-IoC(反向控制 依赖注入)
aijuans
springmvcSpring 教程spring3 教程Spring 入门
IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明:
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe
- TLS java简单实现
antlove
javasslkeystoretlssecure
1. SSLServer.java
package ssl;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import
- Zip解压压缩文件
百合不是茶
Zip格式解压Zip流的使用文件解压
ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件;
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));
&n
- underscore.js 学习(一)
bijian1013
JavaScriptunderscore
工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。 学
- java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)
bijian1013
javajvmjstatd
1.介绍
jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。
jstatd是基于RMI的,所以在运行jstatd的服务
- 【Spring框架三】Spring常用注解之Transactional
bit1129
transactional
Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义:
/*
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version
- 我(程序员)的前进方向
bitray
程序员
作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....
- nginx lua开发经验总结
ronin47
使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下 1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa
- java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶
bylijinnan
java
import java.util.Stack;
public class ReverseStackRecursive {
/**
* Q 66.颠倒栈。
* 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
* 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
*1. Pop the top element
*2. Revers
- 正确理解Linux内存占用过高的问题
cfyme
linux
Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上:
Mem: 3889836k total, 3341868k used, 547968k free, 286044k buffers
Swap: 6127608k total,&nb
- [JWFD开源工作流]当前流程引擎设计的一个急需解决的问题
comsci
工作流
当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。
而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。
- 自定义类的equals函数
dai_lm
equals
仅作笔记使用
public class VectorQueue {
private final Vector<VectorItem> queue;
private class VectorItem {
private final Object item;
private final int quantity;
public VectorI
- Linux下安装R语言
datageek
R语言 linux
命令如下:sudo gedit /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke
- 如何修改mysql 并发数(连接数)最大值
dcj3sjt126com
mysql
MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可
方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass
- 单一功能原则
dcj3sjt126com
面向对象的程序设计软件设计编程原则
单一功能原则[
编辑]
SOLID 原则
单一功能原则
开闭原则
Liskov代换原则
接口隔离原则
依赖反转原则
查
论
编
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有
- POJO、VO和JavaBean区别和联系
fanmingxing
VOPOJOjavabean
POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被
- SpringSecurity3.X--LDAP:AD配置
hanqunfeng
SpringSecurity
前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。
将配置文件中的如下部分删除:
<!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->
- mac mysql 修改密码
IXHONG
mysql
$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-
- 设计模式--抽象工厂模式
kerryg
设计模式
抽象工厂模式:
工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。
总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,
- 评"高中女生军训期跳楼”
nannan408
首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。
孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军
- scala如何读取和写入文件内容?
qindongliang1922
javajvmscala
直接看如下代码:
package file
import java.io.RandomAccessFile
import java.nio.charset.Charset
import scala.io.Source
import scala.reflect.io.{File, Path}
/**
* Created by qindongliang on 2015/
- C语言算法之百元买百鸡
qiufeihu
c算法
中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何?
代码如下:
#include <stdio.h>
int main()
{
int cock,hen,chick; /*定义变量为基本整型*/
for(coc
- Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode
wyz2009107220
NameNode
正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。
1. Secondary NameNode
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image
优点:Hadoop较早的版本都自带,