现象:升级clickhouse版本后,出现如下报错,该报错一般出现于数据高速写入时,merge的速度赶不上part产生的速度,导致part数量堆积过多。
DB::Exception: Too many parts (300). Parts cleaning are processing significantly slower than inserts (version 21.4.6.55 (official build))
在clickhouse中,MergeTree家族的engine为了最大化保证写入速度,每个线程的每次插入,都会产生一个part,同一个partition内的多个part则会在后台进行merge,合并成一个更大的part。
clickhouse除了会控制单表层面的part数量之外,为了减轻merge压力(merge一般是在同一个partition内进行),它同样还会控制单个partition内的part数目。道理和前面一样,单个parttition内的part数目过多,自然要经过很多轮merge才能形成最终态,这个过程是非常吃CPU的,势必会影响到写入和查询。
clickhouse使用parts_to_throw_insert来控制单个partition内的part数量上限,如果单个partition内的part数量超过了这个上限,同样会报too many parts(300) 的错误。这个上限是多少呢?默认值是300。
--- 查看系统默认配置
SELECT
name,
value
FROM system.merge_tree_settings
WHERE name IN ('max_parts_in_total', 'parts_to_throw_insert', 'inactive_parts_to_throw_insert')
Query id: 88eba13a-5fe8-476d-bb7b-5b6353d9142b
┌─name───────────────────────────┬─value──┐
│ parts_to_throw_insert │ 300 │
│ inactive_parts_to_throw_insert │ 0 │
│ max_parts_in_total │ 100000 │
└────────────────────────────────┴────────┘
--- 查单表的总part数目
SELECT count()
FROM system.parts
WHERE (database = '' ) AND (table = '') AND (active = '1')
Query id: c3dec6f3-da47-441e-beed-682536390c46
┌─count()─┐
│ 131150 │
└─────────┘
--- 查单个partition内最多的part数目
SELECT
name,
count() AS cnt
FROM system.parts
WHERE (database = '' ) AND (table = '') AND (active = '1')
GROUP BY name
ORDER BY cnt ASC
LIMIT 1
查看后台Merge线程池配置和当前线程使用情况,每个clickhouse节点上都是独立的线程池,互不干扰
SELECT
metric,
value
FROM system.metrics
WHERE metric LIKE 'BackgroundMergesAndMutationsPool%'
Query id: ffb22e4e-6114-4711-a023-385795dc4315
┌─metric───────────────────────────────┬─value─┐
│ BackgroundMergesAndMutationsPoolTask │ 0 │
│ BackgroundMergesAndMutationsPoolSize │ 64 │
└──────────────────────────────────────┴───────┘
2 rows in set. Elapsed:
你可能感兴趣的:(数据库,clickhouse)
- SQL规范检查
独步秋风
Mysqlmysqlsql规范检查
序号规则规则等级数据库类型1Update/Delete需要带上where条件errorMysql2不允许使用Truncatetable语句errorMysql3Update/Delete不允许带limit条件errorMysql4Update/Delete不允许带orderby条件errorMysql5不使用“SELECT*”这样的语句errorMysql6不使用DML广播语句errorMysql
- Flask + GPT 实践
红鼻子时代
flask项目flaskgptpython
一、前言本篇文章会介绍从零开始构建一个基于Flask+GPT的小项目的过程。总共有四个版本的迭代,包括:1、调用GPT接口并渲染到前端页面;2、使用Flask提供的session来实现登录和登出功能;3、用SQLAlchemy管理数据库,实现用户注册和登录;4、记录和分页查看用户与GPT的对话历史。二、项目环境与依赖Python版本:建议3.7+Flask:最常用的PythonWeb框架之一ope
- 【C#】两个list根据某个元素比较差集
weixin_30594001
c#
1.今天突然跟前端有一点小小的分歧,传输数据和数据库里的数据做比对,该前端做处理还是后端,(并不是都不愿意做,相反,都愿意在自己那端处理==)2.最后终于归结我这了,好久之前做过list比对,记得刚写代码的时候,两个list比对?那就无限foreach呗,当然实现是能实现,这就很影响比对效果和代码的整洁度了。3.接下来,我回忆起来了我之前写过的一个比较方法,拿出来记录一下//重写比较方法publi
- java+vue+SpringBoo智慧旅游系统(程序+数据库+报告+部署教程+答辩指导)
源代码+数据库+LW文档(1万字以上)+开题报告+答辩稿ppt+部署教程+代码讲解+代码时间修改工具技术实现开发语言:后端:Java前端:vue框架:springboot数据库:mysql开发工具JDK版本:JDK1.8数据库:mysql数据库工具:Navicat开发软件:idea主要角色及功能介绍本次系统的用例图做出了十分明确的功能划分,在设计时可以有很好的设计思路进行设计和延展。(1)管理员用
- 【力扣数据库知识手册】数据库优化
soso(找工作版
数据库八股数据库
系统的吞吐量瓶颈往往出现在数据库的访问速度上,因为数据是放在磁盘上的,读写速度无法和内存相比。数据库结构优化在数据库设计中,需要考虑数据冗余,查询和更新的速度、字段的数据类型是否合理等多方面的内容。将字段很多的表分解成多个表。如果有些字段的使用频率很低,可以将这些字段分离出来。增加中间表。对于经常要联合查询的表,通过建立中间表以提高查询效率,具体地,将需要通过联合查询的数据插入到中间表中,然后将原
- 【力扣数据库知识手册】关于redis
soso(找工作版
数据库八股数据库redis
Key-Value数据库(键值数据库)是一种非关系型数据库(NoSQL),它使用简单的键值对(key-value)方式来存储数据,是最简单的数据库模型之一。Redis定义全称为RemoteDictionaryServer,本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据写入磁盘或把修改操作写入追加的记录文件,并且在此基础上实现Mas
- 数据库连接池优化深度解析
后端
在Java企业级应用中,数据库连接池作为数据库访问的核心组件,其性能直接影响系统的整体吞吐量与稳定性。本文从连接池核心参数、性能调优策略、监控与故障诊断及面试高频问题四个维度,结合主流连接池实现(HikariCP、Druid)与工程实践,系统解析数据库连接池的优化方法与最佳实践。一、连接池核心原理与关键参数1.1连接池工作流程1.2关键参数解析(以HikariCP为例)参数作用推荐值maximum
- Oracle应急处理:Oracle RAC 集群节点进程通信出现报错
小亦平台会持续给大家科普一些Oracle数据库的应急处理方案,运维朋友们可以在往期文章中查看更多案例。问题概述•核心问题:监控日志中出现IPCSENDTimeout错误。•主要现象:RAC集群监控日志中报告了Inter-ProcessCommunication(IPC)发送超时错误。问题分析IPCSENDTimeout错误通常表明OracleRAC集群中节点间进程通信(IPC)出现了问题。IPC是
- 分享一些 SQL 优化工具
王宇帆avalanche
sql数据库
一、数据库自带的性能监控和分析工具MySQL:MySQLEnterpriseMonitor:这是MySQL官方推出的一款企业级监控工具,它提供了全面的数据库性能监控和管理功能。功能特点:可以实时监控MySQL服务器的各种关键性能指标,如查询响应时间、吞吐量、连接数、缓存命中率等。它还能深入分析SQL查询的执行计划,帮助用户找出性能瓶颈和优化点。通过直观的图形界面,管理员可以轻松了解数据库的运行状态
- pgsql处理文档类型数据_PostgreSQL数据类型
http://blog.csdn.net/neo_liu0000/article/category/797059第六章数据类型6.1概述PostgreSQL提供了丰富的数据类型。用户可以使用CREATETYPE命令在数据库中创建新的数据类型。PostgreSQL的数据类型被分为四种,分别是基本数据类型、复合数据类型、域和伪类型。基本数据类型是数据库内置的数据类型,包括integer、char、va
- centos7下docker安装postgresql+postgis
环境:centos7/docker最初直接拉取的postgresql数据,在导入.bakup文件时始终会报错,最后才想到该数据库默认不带postgis空间组件###一、拉取镜像这里我们拉取postgres和gis组合的镜像目前组合的版本有如下几个-11.0-2.5-10.0-2.4-9.6-2.4这里以拉取postgresqlv11.0和postgisv2.5的镜像为例dockerpullkart
- PostgreSQL数据类型总结
渝州居士
PostgreSQLpostgresql数据库
PostgreSQL数据库相比其他数据库,支持更多的数据类型,包括常用的数值类型、字符串类型、日期/时间类型外,还有几何类型、网络地址类型、xml类型和json类型,且还可以使用CREATETYPE自行添加数据类型,本文主要介绍PostgreSQL数据库主要的数据类型1.数值类型常用数值类型如下表所示:名称别名存储大小范围描述与其他数据库对比smallintint22字节-225~215-1有符号
- 探秘高效数据库备份利器:pg_probackup
郦岚彬Steward
探秘高效数据库备份利器:pg_probackuppg_probackuppg_probackup是一个开源的PostgreSQL备份和恢复工具,用于在PostgreSQL中进行在线备份和恢复操作。-功能:PostgreSQL备份和恢复工具;在线备份;恢复操作。-特点:易于使用;轻量级;支持多种编程语言;高性能。项目地址:https://gitcode.com/gh_mirrors/pg/pg_pr
- Squirrel: 通用SQL、NoSQL客户端
antui1957
安装配置数据库配置驱动配置连接如果你的工作中,需要使用到多个数据库,又不想在多种客户端之间切换来切换去。那么就需要找一款支持多数据库的客户端工具了。如果你要连接多个关系型数据库,你就可以使用NavicatPremium。但是如果你有使用到NOSQL(譬如HBase、MongoDB等),还是建议使用SquirrelSQLClient。1、安装下载地址:http://squirrel-sql.sour
- postgresql增量备份系列二 pg_probackup
necessary653
postgresqlpostgresql数据库
已经很久没有发文章了,主要是最近工作上的内容都不适合发文章公开。可能往后文章发表也不这么频繁了,不过大家有问题我们可以交流。之前有写过PG增量备份的其他工具使用方法,pg_probackup也是应用比较多的PG备份工具。一.pg_probackuppg_probackup是一个用于管理PostgreSQL数据库集群备份与恢复的实用工具,截止2.5.15版本,支持PostgreSQL11-16及以上
- Clickhouse源码分析-Replicated Database创建流程
前置准备DDL:CREATEDATABASEmy_replicated_dbENGINE=Replicated('/clickhouse/databases/my_replicated_db','{shard}','{replica}');这里需要你提前启动1个clickhouse,1个clickhouse-keeper。源码分析断点:bInterpreters/DDLWorker.cpp:146
- Django 4.x Models App settings 模型应用设置
Mr数据杨
PythonWeb开发pythondjango模型model配置
在Django框架中,模型(Model)是用于定义和操作数据库表结构的核心组件。模型通过使用Python类的形式,帮助简化数据库操作,自动生成SQL语句,使得开发者能够专注于业务逻辑的实现,而无需直接编写复杂的SQL代码。Django的ORM(对象关系映射)提供了一种便捷的方式,将Python对象与数据库记录进行映射操作,从而有效地管理数据交互。对于那些想要在项目中使用Django构建数据库应用的
- OpenGauss数据库-L.应用开发(Python)-选做
lovane_630
数据库pythonoracle
第1关:简单查询#加载数据库模块importpsycopg2#连接数据库,创建连接并返回连接对象defconnect():conn=psycopg2.connect(database="finance",user="gaussdb",password="Passwd123@123",host="localhost")returnconn#建立与数据库连接mydb=connect()#获取游标#执行
- Statement 和 PreparedStatement 详解
风起携月归
javaJavaEESQLpython数据库开发语言
Statement和PreparedStatement详解文章目录Statement和PreparedStatement详解一、定义二、Statement三、PreparedStatement四、Statement和PreparedStatement的区别一、定义在Java数据库编程中,Statement和PreparedStatement是两种用于执行SQL语句的接口理解:在Java语句里执行S
- 国产化关系型数据库都有哪些?哪些数据库使用的频次最高?
信创天地
数据库开发语言java大数据网络安全运维开发
以下是国产化关系型数据库的主要产品及其在信创项目中的应用频次分析,结合技术特性、行业适配性和市场占有率综合评估:一、主流国产关系型数据库列表1.传统集中式数据库数据库名称厂商技术路线核心特点达梦DM武汉达梦自研内核(兼容Oracle)高兼容Oracle,政务/金融领域占有率第一人大金仓KingBase人大金仓PostgreSQL分支优化军工背景,党政机关标配GaussDB华为自研(兼容Postgr
- JDBC中PreparedStatement对象详解(认真看完包学会)
码力无边-OEC
java后端
JDBC(JavaDatabaseConnectivity)是Java用于访问数据库的标准API。PreparedStatement是JDBC中用于执行预编译的SQL语句的接口,能够有效地防止SQL注入,并提高性能。以下是关于PreparedStatement的详细讲解:1.什么是PreparedStatementPreparedStatement是一种SQL语句的预编译版本。与Statement
- 对象池模式:减少GC的Kotlin实战指南
时小雨
Android实战与技巧androidkotlin
对象池模式通过对象复用机制,将对象生命周期从"创建-销毁"转变为"借出-归还",显著减少GC压力。下面通过完整实例展示其实现细节。一、对象池工作原理图解是否对象池初始化预创建对象对象池客户端请求对象从池中借出对象创建新对象使用对象归还对象到池二、数据库连接池完整实现(Kotlin)importjava.util.concurrent.ArrayBlockingQueueimportjava.uti
- 数据同步工具对比:Canal、DataX与Flink CDC
智慧源点
大数据flink大数据
在现代数据架构中,数据同步是构建数据仓库、实现实时分析、支持业务决策的关键环节。Canal、DataX和FlinkCDC作为三种主流的数据同步工具,各自有着不同的设计理念和适用场景。本文将深入探讨这三者的技术特点、使用场景以及实践中的差异,帮助开发者根据实际需求选择合适的工具。1.工具概述1.1CanalCanal是阿里巴巴开源的一款基于MySQL数据库增量日志(binlog)解析的组件,主要用于
- ECharts后台读取数据动态生成折线图:实时数据可视化解决方案
窦菲芊Harriet
ECharts后台读取数据动态生成折线图:实时数据可视化解决方案【下载地址】ECharts后台读取数据动态生成折线图该项目提供了一种高效的方法,利用PHP从数据库中读取数据,并通过JSON格式传输到前端,结合ECharts库动态生成折线图。通过AJAX技术,数据能够实时刷新,确保折线图始终反映最新数据变化。项目集成了ECharts和jQuery,简化了开发流程,适合需要实时数据可视化的场景。只需将
- 二次开发源码 借贷系统uniapp/借贷认证系统/小额信贷系统/工薪贷APP/资金贷系统h5
csdndddsd
uniapp借贷系统开发小额贷系统app工薪贷系统安装搭建信用贷认证系统h5资金贷系统安装搭建教程借贷系统安装搭建借贷系统二次开发
前端:UNIAPP后端:ThinkPHP数据库:Mysql前端使用的uniapp可以打包APPH5小程序系统提供了完善的网络借贷体系,为金融中介平台提供从获客到贷后管理全流程服务,解决了借贷手续繁琐、流程缓慢等问题此源码为运营中版本,具有极高稳定性,防注入,防攻击,修复全部已知后门漏洞仅供学习演示、二次开发专用,禁止一切违法行为的利用!可提现金额(元)¥{{qbMoney}}充值提现余额明细余额变
- 大学专业科普 | 物联网、自动化和人工智能
在选择大学专业时,可以先从自身兴趣、能力和职业规划出发,初步确定几个感兴趣的领域。然后结合外部环境因素,如专业前景、教育资源和就业情况等,对这些专业进行深入的分析和比较。物联网专业课程设置基础课程:包括物联网概论、电子电工基础、计算机网络技术、数据库应用基础、C语言程序设计等。专业核心课程:传感器与传感网技术、自动识别技术与应用、单片机基础、物联网通信技术、嵌入式系统设计、无线传感器网络等。实践课
- 数据库事务全面指南:概念、语法、机制与最佳实践
步行cgn
数据库数据库
数据库事务全面指南:概念、语法、机制与最佳实践事务是数据库管理系统的核心功能,它确保数据库操作满足ACID特性(原子性、一致性、隔离性、持久性)。正确使用事务对于维护数据完整性和系统可靠性至关重要。一、事务核心概念ACID特性详解特性描述实现机制原子性(Atomicity)事务的所有操作要么全部完成,要么全部不执行回滚日志(UndoLog)一致性(Consistency)事务使数据库从一个一致状态
- 数据库视图详解:概念、语法、应用场景与注意事项
步行cgn
数据库数据库oracle
数据库视图详解:概念、语法、应用场景与注意事项视图(View)是数据库中的虚拟表,它基于SQL查询结果动态生成数据,不实际存储数据。视图是数据库设计中的强大工具,正确使用可以显著提升系统的安全性和可维护性。一、视图核心概念1.视图的本质虚拟表:不存储数据,仅存储查询定义动态生成:每次访问时执行底层SQL安全层:控制数据访问权限抽象层:隐藏底层表结构复杂性2.视图vs表特性表(Table)视图(Vi
- C#库存管理系统源码与详解
weixin_42613017
本文还有配套的精品资源,点击获取简介:本文深入剖析C#开发的库存管理系统源码,涵盖从设计到实现的各个方面。详细解释了面向对象编程思想在库存管理中的应用,包括商品、仓库、订单等实体的类设计,以及关键的库存管理模块如入库、出库、查询、预警、盘点、报表生成、数据库设计、用户界面设计、错误处理与安全性的实现。此项目旨在帮助开发者深入理解C#语言及其在业务系统开发中的实践经验,涵盖软件工程的核心概念。1.面
- 怎么java链接数据库_Java 如何使用JDBC连接数据库
悦时光里的背包客
怎么java链接数据库
一、使用JDBC连接数据库1.使用JDBC-ODBC桥驱动程序连接数据库基本步骤:(1)加载并注册数据库驱动(2)通过DriverManager获取数据库连接(3)通过Connection对象获取Statement对象(4)使用Statement接口执行SQL语句(5)操作ResultSet结果集(6)关闭连接,释放资源2.下面进行代码演示1.注册数据库驱动程序的语法格式如下:DriverMana
- java的(PO,VO,TO,BO,DAO,POJO)
Cb123456
VOTOBOPOJODAO
转:
http://www.cnblogs.com/yxnchinahlj/archive/2012/02/24/2366110.html
-------------------------------------------------------------------
O/R Mapping 是 Object Relational Mapping(对象关系映
- spring ioc原理(看完后大家可以自己写一个spring)
aijuans
spring
最近,买了本Spring入门书:spring In Action 。大致浏览了下感觉还不错。就是入门了点。Manning的书还是不错的,我虽然不像哪些只看Manning书的人那样专注于Manning,但怀着崇敬 的心情和激情通览了一遍。又一次接受了IOC 、DI、AOP等Spring核心概念。 先就IOC和DI谈一点我的看法。IO
- MyEclipse 2014中Customize Persperctive设置无效的解决方法
Kai_Ge
MyEclipse2014
高高兴兴下载个MyEclipse2014,发现工具条上多了个手机开发的按钮,心生不爽就想弄掉他!
结果发现Customize Persperctive失效!!
有说更新下就好了,可是国内Myeclipse访问不了,何谈更新...
so~这里提供了更新后的一下jar包,给大家使用!
1、将9个jar复制到myeclipse安装目录\plugins中
2、删除和这9个jar同包名但是版本号较
- SpringMvc上传
120153216
springMVC
@RequestMapping(value = WebUrlConstant.UPLOADFILE)
@ResponseBody
public Map<String, Object> uploadFile(HttpServletRequest request,HttpServletResponse httpresponse) {
try {
//
- Javascript----HTML DOM 事件
何必如此
JavaScripthtmlWeb
HTML DOM 事件允许Javascript在HTML文档元素中注册不同事件处理程序。
事件通常与函数结合使用,函数不会在事件发生前被执行!
注:DOM: 指明使用的 DOM 属性级别。
1.鼠标事件
属性  
- 动态绑定和删除onclick事件
357029540
JavaScriptjquery
因为对JQUERY和JS的动态绑定事件的不熟悉,今天花了好久的时间才把动态绑定和删除onclick事件搞定!现在分享下我的过程。
在我的查询页面,我将我的onclick事件绑定到了tr标签上同时传入当前行(this值)参数,这样可以在点击行上的任意地方时可以选中checkbox,但是在我的某一列上也有一个onclick事件是用于下载附件的,当
- HttpClient|HttpClient请求详解
7454103
apache应用服务器网络协议网络应用Security
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。本文首先介绍 HTTPClient,然后根据作者实际工作经验给出了一些常见问题的解决方法。HTTP 协议可能是现在 Internet 上使用得最多、最重要的协议了,越来越多的 Java 应用程序需
- 递归 逐层统计树形结构数据
darkranger
数据结构
将集合递归获取树形结构:
/**
*
* 递归获取数据
* @param alist:所有分类
* @param subjname:对应统计的项目名称
* @param pk:对应项目主键
* @param reportList: 最后统计的结果集
* @param count:项目级别
*/
public void getReportVO(Arr
- 访问WEB-INF下使用frameset标签页面出错的原因
aijuans
struts2
<frameset rows="61,*,24" cols="*" framespacing="0" frameborder="no" border="0">
- MAVEN常用命令
avords
Maven库:
http://repo2.maven.org/maven2/
Maven依赖查询:
http://mvnrepository.com/
Maven常用命令: 1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName 
- PHP如果自带一个小型的web服务器就好了
houxinyou
apache应用服务器WebPHP脚本
最近单位用PHP做网站,感觉PHP挺好的,不过有一些地方不太习惯,比如,环境搭建。PHP本身就是一个网站后台脚本,但用PHP做程序时还要下载apache,配置起来也不太很方便,虽然有好多配置好的apache+php+mysq的环境,但用起来总是心里不太舒服,因为我要的只是一个开发环境,如果是真实的运行环境,下个apahe也无所谓,但只是一个开发环境,总有一种杀鸡用牛刀的感觉。如果php自己的程序中
- NoSQL数据库之Redis数据库管理(list类型)
bijian1013
redis数据库NoSQL
3.list类型及操作
List是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加删除元素,这样list既可以作为栈,又可以作为队列。
&nbs
- 谁在用Hadoop?
bingyingao
hadoop数据挖掘公司应用场景
Hadoop技术的应用已经十分广泛了,而我是最近才开始对它有所了解,它在大数据领域的出色表现也让我产生了兴趣。浏览了他的官网,其中有一个页面专门介绍目前世界上有哪些公司在用Hadoop,这些公司涵盖各行各业,不乏一些大公司如alibaba,ebay,amazon,google,facebook,adobe等,主要用于日志分析、数据挖掘、机器学习、构建索引、业务报表等场景,这更加激发了学习它的热情。
- 【Spark七十六】Spark计算结果存到MySQL
bit1129
mysql
package spark.examples.db
import java.sql.{PreparedStatement, Connection, DriverManager}
import com.mysql.jdbc.Driver
import org.apache.spark.{SparkContext, SparkConf}
object SparkMySQLInteg
- Scala: JVM上的函数编程
bookjovi
scalaerlanghaskell
说Scala是JVM上的函数编程一点也不为过,Scala把面向对象和函数型编程这两种主流编程范式结合了起来,对于熟悉各种编程范式的人而言Scala并没有带来太多革新的编程思想,scala主要的有点在于Java庞大的package优势,这样也就弥补了JVM平台上函数型编程的缺失,MS家.net上已经有了F#,JVM怎么能不跟上呢?
对本人而言
- jar打成exe
bro_feng
java jar exe
今天要把jar包打成exe,jsmooth和exe4j都用了。
遇见几个问题。记录一下。
两个软件都很好使,网上都有图片教程,都挺不错。
首先肯定是要用自己的jre的,不然不能通用,其次别忘了把需要的lib放到classPath中。
困扰我很久的一个问题是,我自己打包成功后,在一个同事的没有装jdk的电脑上运行,就是不行,报错jvm.dll为无效的windows映像,如截图
最后发现
- 读《研磨设计模式》-代码笔记-策略模式-Strategy
bylijinnan
java设计模式
声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/
/*
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化
简单理解:
1、将不同的策略提炼出一个共同接口。这是容易的,因为不同的策略,只是算法不同,需要传递的参数
- cmd命令值cvfM命令
chenyu19891124
cmd
cmd命令还真是强大啊。今天发现jar -cvfM aa.rar @aaalist 就这行命令可以根据aaalist取出相应的文件
例如:
在d:\workspace\prpall\test.java 有这样一个文件,现在想要将这个文件打成一个包。运行如下命令即可比如在d:\wor
- OpenJWeb(1.8) Java Web应用快速开发平台
comsci
java框架Web项目管理企业应用
OpenJWeb(1.8) Java Web应用快速开发平台的作者是我们技术联盟的成员,他最近推出了新版本的快速应用开发平台 OpenJWeb(1.8),我帮他做做宣传
OpenJWeb快速开发平台以快速开发为核心,整合先进的java 开源框架,本着自主开发+应用集成相结合的原则,旨在为政府、企事业单位、软件公司等平台用户提供一个架构透
- Python 报错:IndentationError: unexpected indent
daizj
pythontab空格缩进
IndentationError: unexpected indent 是缩进的问题,也有可能是tab和空格混用啦
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且在Python语言里,缩进而非花括号或者某种关键字,被用于表示语句块的开始和退出。增加缩进表示语句块的开
- HttpClient 超时设置
dongwei_6688
httpclient
HttpClient中的超时设置包含两个部分:
1. 建立连接超时,是指在httpclient客户端和服务器端建立连接过程中允许的最大等待时间
2. 读取数据超时,是指在建立连接后,等待读取服务器端的响应数据时允许的最大等待时间
在HttpClient 4.x中如下设置:
HttpClient httpclient = new DefaultHttpC
- 小鱼与波浪
dcj3sjt126com
一条小鱼游出水面看蓝天,偶然间遇到了波浪。 小鱼便与波浪在海面上游戏,随着波浪上下起伏、汹涌前进。 小鱼在波浪里兴奋得大叫:“你每天都过着这么刺激的生活吗?简直太棒了。” 波浪说:“岂只每天过这样的生活,几乎每一刻都这么刺激!还有更刺激的,要有潮汐变化,或者狂风暴雨,那才是兴奋得心脏都会跳出来。” 小鱼说:“真希望我也能变成一个波浪,每天随着风雨、潮汐流动,不知道有多么好!” 很快,小鱼
- Error Code: 1175 You are using safe update mode and you tried to update a table
dcj3sjt126com
mysql
快速高效用:SET SQL_SAFE_UPDATES = 0;下面的就不要看了!
今日用MySQL Workbench进行数据库的管理更新时,执行一个更新的语句碰到以下错误提示:
Error Code: 1175
You are using safe update mode and you tried to update a table without a WHERE that
- 枚举类型详细介绍及方法定义
gaomysion
enumjavaee
转发
http://developer.51cto.com/art/201107/275031.htm
枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。建议大家可以看看,这两篇文章,《java枚举类型入门》和《C++的中的结构体和枚举》,供大家参考。
枚举类型是JDK5.0的新特征。Sun引进了一个全新的关键字enum
- Merge Sorted Array
hcx2013
array
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Note:You may assume that nums1 has enough space (size that is
- Expression Language 3.0新特性
jinnianshilongnian
el 3.0
Expression Language 3.0表达式语言规范最终版从2013-4-29发布到现在已经非常久的时间了;目前如Tomcat 8、Jetty 9、GlasshFish 4已经支持EL 3.0。新特性包括:如字符串拼接操作符、赋值、分号操作符、对象方法调用、Lambda表达式、静态字段/方法调用、构造器调用、Java8集合操作。目前Glassfish 4/Jetty实现最好,对大多数新特性
- 超越算法来看待个性化推荐
liyonghui160com
超越算法来看待个性化推荐
一提到个性化推荐,大家一般会想到协同过滤、文本相似等推荐算法,或是更高阶的模型推荐算法,百度的张栋说过,推荐40%取决于UI、30%取决于数据、20%取决于背景知识,虽然本人不是很认同这种比例,但推荐系统中,推荐算法起的作用起的作用是非常有限的。
就像任何
- 写给Javascript初学者的小小建议
pda158
JavaScript
一般初学JavaScript的时候最头痛的就是浏览器兼容问题。在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了。 如果你正初学JavaScript并有着一样的处境的话建议你:初学JavaScript的时候无视DOM和BOM的兼容性,将更多的时间花在 了解语言本身(ECMAScript)。只在特定浏览器编写代码(Chrome/Fi
- Java 枚举
ShihLei
javaenum枚举
注:文章内容大量借鉴使用网上的资料,可惜没有记录参考地址,只能再传对作者说声抱歉并表示感谢!
一 基础 1)语法
枚举类型只能有私有构造器(这样做可以保证客户代码没有办法新建一个enum的实例)
枚举实例必须最先定义
2)特性
&nb
- Java SE 6 HotSpot虚拟机的垃圾回收机制
uuhorse
javaHotSpotGC垃圾回收VM
官方资料,关于Java SE 6 HotSpot虚拟机的garbage Collection,非常全,英文。
http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html
Java SE 6 HotSpot[tm] Virtual Machine Garbage Collection Tuning
&