- Java 数组排序
赔罪
Java系统学习java排序算法算法java-ee数组排序
目录1.Java冒泡排序(BubbleSort)1.冒泡排序2.冒泡排序的算法原理3.冒泡排序的复杂度和性能4.形成代码2.Java快速排序(QuickSort)3.Java归并排序(MergeSort)4.Java选择排序(SelectionSort)5.Java直接插入排序6.Java希尔排序(ShellSort)1.Java冒泡排序(BubbleSort)1.冒泡排序冒泡排序(BubbleS
- OpenSPG docker 安装教程
@comefly
NLPdockeropenspg知识图谱llm
文章目录前言自述一、OpenSPG1.介绍二、安装步骤1.安装服务端2.客户端部署前言自述我最近是想结合chatglm3-6b和知识图谱做一个垂直领域的技术规范的问答系统,过程中也遇到了很多困难,在模型微调上,在数据集收集整理上,在知识图谱的信息抽取上等等,咬咬牙,多学习就可以解决,本文主要写一下利用openspg做技术规范的信息抽取的部署安装过程。一、OpenSPG1.介绍OpenSPG是蚂蚁集
- 使用Node.js+Express框架,创建一个独立的服务器端项目
海绵宝宝人间体
node.jsexpress
使用Node.js+Express框架,创建一个独立的服务器端项目1、安装Node.js环境node.js中文网官网:Node.js中文网安装完成后,在命令行中输入node-v和npm-v来检查Node.js和npm(NodePackageManager)是否安装成功。2、初始化项目创建一个新的文件夹作为你的项目文件夹。在命令行中进入该文件夹,并运行npminit-y来初始化项目并生成packag
- 麒麟操作系统服务架构保姆级教程(十一)https配置
小屁不止是运维
系统架构架构https网络协议linux运维LNMP服务器
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情在运维工作中,加密和安全的作用是十分重要的,如果仅仅用http协议来对外展示我们的网站,过一段时间就会发现网站首页被人奇奇怪怪的篡改了,本来好好的博客论坛,被人篡改的五毒俱全,这个时候我们的网站就需要加密访问了,这个加密不是说要密码才可以查看网站,而是通过https协议进行加密访问,客户端进行访问的时候会进行加密和解密,防止我们的web
- 麒麟操作系统基础知识保姆级教程(十五)权限管理
小屁不止是运维
基础知识linux服务器网络运维学习bash
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情之前咱们了解过了麒麟操作系统的sudo提权,那么都有哪些关于咱们权限有哪些相关的知识呢?欢迎交流:在学习过程中如果你有任何疑问或想法,欢迎在评论区留言,我们可以共同探讨学习的内容。你的支持是我持续创作的动力!点赞、收藏与推荐:如果你觉得这篇文章对你有所帮助,请不要忘记点赞、收藏,并分享给更多的小伙伴!你们的鼓励是我不断进步的源泉!推广给
- 麒麟操作系统基础知识保姆级教程(八)压缩解压缩和文件权限
小屁不止是运维
基础知识服务器网络linux运维学习ubuntu
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情一、打包压缩和解压缩麒麟操作系统常用的打包和压缩的命令有两种:tar和zip1、tar打包压缩打包:tar最初主要用于将多个文件和目录打包成一个文件,方便文件的存储和传输。它不会对文件内容进行压缩,只是简单地将它们整合在一起。压缩:tar可以与其他压缩工具(如gzip、bzip2等)结合使用,实现打包和压缩的功能。这样可以有效地减小文件
- 麒麟操作系统搭建本地yum源(_x86架构麒麟v10sp3)
小屁不止是运维
系统安装架构linux运维
文章开始先附上自己最喜欢的一段话如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情有些公司的工作环境是内网环境,无法链接互联网,那么这个时候就需要一套本地的yum源来下载一些服务一、准备好自己的操作系统对应的镜像根据自己服务器的操作系统类型准备好对应版本的镜像,我的操作系统是_x86架构的麒麟v10sp3的操作系统。可以去官网下载你的镜像下载地址为:https://www.kylino
- 麒麟操作系统基础知识保姆级教程(五)系统优化
小屁不止是运维
基础知识架构linux运维服务器
如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情1、查看系统版本两种方法1、使用命令查看[root@localhost~]#hostnamectl Statichostname:localhost.localdomain Iconname:computer-vm Chassis:vm MachineID:372f0bb3bfcd4bd09688fd725b9a085
- 网络编程——UDP套接字
Sirudoi
网络网络udp服务器
一、前缀知识端口号:用来标识在一台机器上的唯一进程。IP地址:用来标识在网络上的唯一主机。因此通过IP+端口号的方式,就可以在互联网上唯一标识一个进程,套接字就是通过这种方式,唯一地标识在互联网之间通信的一对进程,网络套接字的本质其实就是进程间的通信。套接字是在传输层的接口,可以让我们选择通信的协议是UDP,还是TCP。1.1端口号&进程PID这里区分一下端口号和进程的PID,看到这里你也许会问:
- 基于SIFT特征提取和模板匹配的车标识别算法MATLAB仿真(含MATLAB代码)
爱学习的通信人
图像处理毕业设计信号处理算法matlab开发语言
摘要本文介绍了一种基于尺度不变特征变换(SIFT)特征提取和模板匹配的车标识别方法,并通过MATLAB进行仿真。该方法利用SIFT特征的尺度和旋转不变性,提高车标识别的准确性和鲁棒性,适用于各种尺寸和方向的车标图像。仿真结果展示了该方法在实际应用中的有效性。关键词:车标识别,SIFT特征提取,模板匹配,MATLAB仿真1.引言车标识别在车辆检测、智能交通系统和安全监控中具有重要应用。准确识别车辆品
- 为什么要用const来修饰指针,以及const的主要作用是什么
不二周!
Cc语言
1、通过地址传递(指针作为形参)能够节省内存空间,因为值传递会重新拷贝一份数据过来,而地址传递就指针一个2、用const修饰函数的形参,是为了防止误操作,修改了变量的值3、实际上也不是不可以改,再用一个指针指向这个地址就可以了,但是为了防止误操作加了const,到头来还要前方百计的想要修改变量的值,这样做就没有意义了
- 如何新建一个React Native的项目
LJ小番茄
随便写点reactnativereact.jsjavascript
要新建一个ReactNative项目,你可以使用ReactNative官方推荐的工具ReactNativeCLI或者Expo。两者的区别在于:ReactNativeCLI提供更多对原生代码的访问权限,适合构建复杂的应用;而Expo是一个开发工具链,简化了许多设置,非常适合快速启动项目,尤其是小型应用或原生功能需求不高的项目。下面我将分别介绍如何使用ReactNativeCLI和ExpoCLI来创建
- 设计模式详解(命令模式)
小马不敲代码
设计模式设计模式命令模式
命令模式(CommandPattern)是一种行为型设计模式,它将请求封装为一个对象,从而使得请求的发送者和接收者解耦。一、命令模式的核心思想命令模式的核心思想是将“请求”封装成为一个对象,从而使得我们可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行相应的操作。命令模式允许请求的
- MVC设计模式简介
大海知天空
MVC设计模式(Model-View-Controller)是软件工程中常见的一种软件架构模式,该模式把软件系统(项目)分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。使用MVC模式有很多优势,例如:简化后期对项目的修改、扩展等维护操作;使项目的某一部分变得可以重复利用;使项目的结构更加直观。具体来讲,MVC模式可以将项目划分为模型(M)、视图(V)和控制器
- java3d酷眩贪吃蛇下载,100行JS实现HTML5的3D贪吃蛇游戏
weixin_39983554
java3d酷眩贪吃蛇下载
js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型,多次想尝试提交个小游戏但总无法写出让自己满意还能控制在这么小的字节范围。自己写不出来,站在巨人肩膀总是有机会吧,折腾了一番站在Hightopo的肩膀上搞了个3D贪吃蛇游戏,算了算JS代码还只有90来行
- asp.net mysql 性能问题_ASP.NET性能优化小结
syhakh
asp.netmysql性能问题
一、返回多个数据集检查你的访问数据库的代码,看是否存在着要返回多次的请求。每次往返降低了你的应用程序的每秒能够响应请求的次数。通过在单个数据库请求中返回多个结果集,可以减少与数据库通信的时间,使你的系统具有扩展性,也可以减少数据库服务器响应请求的工作量。如果用动态的SQL语句来返回多个数据集,那用存储过程来替代动态的SQL语句会更好些。是否把业务逻辑写到存储过程中,这个有点争议。但是我认为,把业务
- docker的staut一直是exit1_Docker随笔记—docker run执行后,容器的状态是Exited的一些困惑...
长颈鹿很忙
问题:运行dockerrun-itd-p5000:5000localregistryregistry:2.5/bin/bash命令后,发现容器并没有跑起来,而是变成了Exit状态。如果将末尾的/bin/bash去掉,容器就能正常的start了解决:翻看不少docker资料,到目前位置,对导致此问题的出现算是有了一个比较清晰的认识。1.容器的生命周期。要把docer容器看做是一个单独的进程。它不是一
- Python 实现七大排序算法
weixin_30527323
pythonshell数据结构与算法
技术博客:github.com/yongxinz/te…本文用Python实现了插入排序、希尔排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序。先整体看一下各个算法之间的对比,然后再进行详细介绍:排序算法平均时间复杂度最好情况最坏情况空间复杂度排序方式稳定性插入排序O(n²)O(n)O(n²)O(1)In-place稳定冒泡排序O(n²)O(n)O(n²)O(1)In-place稳定选择排
- MySQL.data.dll v4.0:深入.NET与MySQL交互的关键组件
小黄人95
本文还有配套的精品资源,点击获取简介:MySQL.data.dll是.NETFramework应用程序与MySQL服务器通信的重要组件,包含MySqlClient类库,提供数据库连接、命令执行和数据适配等功能。它对.NET开发人员使用C#、***等语言操作MySQL数据库至关重要。本实践指南将深入介绍如何正确配置和使用MySQL.data.dll,包括连接字符串配置、异常处理、数据库操作、连接管理
- Android开发中图片处理
wayne214
android
图片优化:选择合适的图片格式:使用适当的图片格式(如PNG、JPEG或WebP)以获得最佳的图片质量和文件大小。通常,JPEG用于具有丰富颜色和细节的图片,PNG用于需要透明度的图片,而WebP则结合了JPEG和PNG的优点,且具有更小的文件大小。压缩图片:在不损失图像质量的前提下尽可能减小图像文件大小。可以使用AndroidStudio的ImageAssetStudio工具或在线工具(如Tiny
- ReactNative0.75版本发布,一文快速了解
wayne214
ReactNativereactnative
ReactNative0.75版本的更新包含了多个方面的内容,以下是一些详细信息:亮点Yoga3.1和布局改进:支持%值在布局中的应用,如gap、translation等属性,但仅适用于新架构。新架构稳定化:修复了一些Bug,提高了稳定性,并在ReactNativeDirectory中添加了新架构支持信息,还发布了关于支持新架构中UIManager的文章。使用框架:推荐通过框架(如Expo)构建R
- ollama教程——使用LangChain调用Ollama接口实现ReAct
walkskyer
ollama入门教程langchainreact.js前端
ollama入门系列教程简介与目录相关文章:Ollama教程——入门:开启本地大型语言模型开发之旅Ollama教程——模型:如何将模型高效导入到Ollama框架Ollama教程——兼容OpenAIAPI:高效利用兼容OpenAI的API进行AI项目开发Ollama教程——使用LangChain:Ollama与LangChain的强强联合Ollama教程——生成内容API:利用Ollama的原生AP
- ChatGPT大模型极简应用开发-目录
uncle_ll
#GPTchatgpt人工智能LLM大模型GPT
引言要理解ChatGPT,了解其背后的Transformer架构和GPT技术一路的演进则变得非常必要。ChatGPT背后的LLM技术使普通人能够通过自然语言完成过去只能由程序员通过编程语言实现的任务,这是一场巨大的变革。然而,人类通常容易高估技术的短期影响而低估长期影响。进一步学习关于LLM技术原理的论文、视频、图书等。在阅读这本书或者后续学习过程中,你有任何疑问都可以随时请教ChatGPT等工具
- 如何在服务器同一个端口下根据路径区分不同的应用
三爷麋了鹿
服务器运维
通常我们使用域名直接访问网站时,使用的是80或者443端口。但一个主站下面可能有好几个子网站,我们如何通过路径来挂载子网站呢?nginx.conf配置使用nginx代理能够实现根据不同的路径,访问同一端口下的子网站。root配置网站的默认根目录,alias指定子网站路径。server{listen80default_server;charsetutf-8;#默认访问路径location/{root
- 【数据结构-堆】【hard】力扣23. 合并 K 个升序链表
hlc@
数据结构精选数据结构leetcode链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们合并到一个有序链表中得到。1->1->2->3->4->4->5->6示例2:输入:lists=[]输出:[]示例3:输
- Java数据结构__Arraylist与顺序表(1)
suger__salt
Java基础知识java数据结构算法
目录1.线性表2.顺序表3.ArrayList介绍ArrayList构造4.ArrayList使用1.常见操作2.ArratList的遍历3.ArrayList的扩容机制1.线性表线性表是一种数据结构,它由n(n≥0)个数据元素组成,数据元素类型相同,且呈现一对一的线性关系。常见的线性表有:顺序表,链表,栈,队列…2.顺序表顺序表是用一段地址连续的存储单元一次存储数据元素的线性结构,一般情况下采用
- C++11特性简述
因特麦克斯
c++开发语言
Lambda表达式捕获列表+参数列表(没有参数可以省略)+返回值+函数体类成员函数中定义lambda表达式可以捕获this指针,但是没有捕获函数参数的时候捕获this也不能访问函数参数自动推导返回值:必须是唯一形式的返回值类型才能推导出来,也就是不能出现二义性,比如返回列表时,由于数组和链表都可以以列表的形式返回,所以无法自动推导出返回值类型,这时就需要自己手动声明一下返回值类型"->返回值类型"
- 后端方向初阶入门——MySQL
小羊一定要努力变强
mysql数据库
各位帅哥美女,编辑不易,动动发财小手,来个三连加关注,后续会有更加优秀的推文推出~Mysql:用的最多的数据库,项目都用此数据库(Oracle:大型数据库,用的不多,因为收费,大公司难免会遇到。目录1.MySQL简介2.MySQL安装与配置2.1下载与安装2.2配置与启动3.数据库基础操作3.1创建数据库3.2选择数据库3.3创建表3.4插入数据3.5查询数据3.6更新数据3.7删除数据3.8.添
- 《leetcode-runner》【图解】【源码】如何手搓一个debug调试器——架构
飞哥不鸽
leetcode-runnerdebug调试器编写架构图分析
前文:《leetcode-runner》如何手搓一个debug调试器——引言文章目录设计引入为什么这么设计存在难点1.环境准备2.调试程序仓库地址:leetcode-runner本文主要聚焦leetcode-runner对于debug功能的整体设计,并讲述设计原因以及存在的难点设计引入让我们来思考一下,一个最简单的调试器需要哪些内容首先,它能够接受用户的输入其次,它能够读懂用户想让调试器干嘛,并做
- 观察者模式
咖啡の猫
观察者模式设计模式
在软件开发的广阔领域中,我们常常会遇到这样的场景:一个对象的状态变化需要通知其他多个对象做出相应的反应。例如,在一个股票交易系统中,当某只股票价格发生变动时,需要实时通知关注该股票的所有投资者。观察者模式(ObserverPattern)正是为解决这类问题而诞生的,它提供了一种对象间的一对多依赖关系,当一个对象状态改变时,所有依赖它的对象都会得到通知并自动更新。观察者模式概述观察者模式是一种行为型
- 算法 单链的创建与删除
换个号韩国红果果
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较早的版本都自带,