一般来说Mysql读写分离实现有两种方式:一种是通过代码层面配置动态多数据源实现;一种是通过代理中间件实现
PS:如果担心Mycat挂掉,可以在Mycat上层加一层Keeplived,Mycat1和Mycat2配置读指向一台服务器,写指向另一台服务器即可。Keeplived的配置方式可以参考:Mysql+Keepalived实现双主热备
一、安装Mycat
#安装Java环境(mycat基于java)
yum install java-1.8.0-openjdk.x86_64
#下载mycat
wget http://dl.mycat.io/1.6.5/Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
#解压
tar -zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz
#剪切到/usr/local下
mv mycat /usr/local/
二、配置Mycat
1、配置连接信息
Mycat的server.xml配置逻辑库
123456
TESTDB
123456
TESTDB
true
配置说明:
user标签的name指的是应用连接中间件逻辑库的用户名
property标签的password指的是应用连接中间件逻辑库的密码
property标签的schemas指的是数据库配置文件schema.xml里标签的name,可以配置一个或多个
property标签的readOnly指的是应用连接中间件逻辑库具有的权限,true为只读,false为读写,默认为false
2、配置数据库信息
Mycat的schema.xml配置数据库信息
show slave status
配置说明:
dataHost标签的maxCon指的是每个读写实例连接池的最大连接。也就是说,标签内嵌套的writeHost、readHost标签都会使用这个属性的值来实例化出连接池的最大连接数
dataHost标签的minCon指的是每个读写实例连接池的最小连接,初始化连接池的大小
dataHost标签的balance指的是负载均衡类型,目前的取值有三种:
balance="0",不开启读写分离机制,所有读操作都发送到当前可用的writeHost上
balance="1",全部的readHost与stand by writeHost参与select语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且M1与M2互为主备),正常情况下,M2,S1,S2都参与select语句的负载均衡
balance="2",所有读操作都随机的在writeHost、readhost上分发
balance="3",所有读请求随机的分发到wiriterHost对应的readhost执行,writerHost不负担读压力,注意balance=3只在1.4及其以后版本有,1.3没有
dataHost标签的writeType指的是写类型,目前的取值有三种:
writeType="0",所有写操作发送到配置的第一个writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准,切换记录在配置文件中:dnindex.properties
writeType="1",所有写操作都随机的发送到配置的writeHost,1.5以后废弃不推荐
writeType="2",不执行写操作
dataHost标签的switchType指的是自动切换类型,目前的取值有四种:
switchType="-1",表示不自动切换
switchType="1",默认值,自动切换
switchType="2",基于MySQL主从同步的状态决定是否切换
switchType="3",基于MySQLgalarycluster的切换机制(适合集群)(1.4.1)
第一台写入数据库hostM1宕机后,根据switchType=1会自动切换到hostM2上,当hostM1重启恢复之后,Mycat并不会切换回第一个hostM1写入节点,而是需要重新配置主从状态(Mycat没办法做到像Keeplived那样动态切换,其实Keeplived也可以实现读写分离,实现方式是通过配置两个虚拟IP,一个用来读另一个用来写,但是这种实现方式在代码层面依旧需要配置双数据源),或者把hostM2再关闭下,它就会自动切换回hostM1了
dataHost标签的dbType指的是数据库类型
指定连接的数据库类型,目前支持二进制的mysql协议,还有其他使用JDBC连接的数据库,例如:mongodb、oracle、spark等
dataHost标签的dbDriver指的是连接数据库的驱动
目前可选的值有native和JDBC
native:因为这个值执行的是二进制的mysql协议,所以可以使用mysql和maridb。其他类型的数据库则需要使用JDBC驱动来支持。从1.6版本开始支持postgresql的native原始协议
JDBC:需要将符合JDBC 4标准的驱动JAR包放到MYCAT\lib目录下,并检查驱动JAR包中包括如下目录结构的文件:META-INF\services\java.sql.Driver。在这个文件内写上具体的Driver类名,例如:com.mysql.jdbc.Driver
heartbeat标签指的是用于和数据库进行心跳检查的语句。例如,MYSQL可以使用select user(),Oracle可以使用select 1 from dual等。这个标签还有一个connectionInitSql属性,主要是当使用Oracla数据库时,需要执行的初始化SQL语句就这个放到这里面来。例如:altersession set nls_date_format='yyyy-mm-dd hh24:mi:ss'
1.4主从切换的语句必须是:showslave status
writeHost标签、readHost标签:
这两个标签都是指定数据库的相关配置给Mycat,用于实例化连接池。唯一不同的是,writeHost指定写实例、readHost指定读实例。在一个dataHost内可以定义多个writeHost和readHost。但是,如果writeHost指定的数据库宕机,那么这个writeHost绑定的所有readHost都将不可用。另一方面,由于这个writeHost宕机系统会自动的检测到,并切换到备用的writeHost
table标签: 想要显示的数据表,table标签的name表示数据表名称
dataHost: 配置数据库信息,一个dataHost中可能有多个服务器,这些服务器可能会分担读写任务
dataNode: 数据分片,Mycat会根据分片规则(schema标签的rule) 将数据写入dataNode对应的数据库中,不同的dataNode中可以使用相同的dataHost
分片举例: 用Mycat一直是用编号作为分片依据,最近一个项目中数据库结构不适合以自增编号做分片依据,并且要求加入新数据库服务器之后不能中断服务,经过对现有数据分析,所有表都有一个添加时间字段,那么我们决定用这个字段来按月分片存储数据。这里要先说一下,按月分片的话并不会将数据分布到12个dataNode中,而是每年的每个月对应一个dataNode,也就是2018年1-12月对应12个dataNode,2019年1-12月又对应12个dataNode,也就是每一年就需要用到12个dataNode。当然可以将同一个dataHost放到不同的dataNode中。初期可以根据服务器数量添加Node,到Node用完后可以添加Node节点。schema.xml配置如下:
select user()
select user()
select user()
select user()
3、启动Mycat
#切换路径
cd /usr/local/mycat/bin
#重启
./mycat restart
你可能感兴趣的:(高可用方案,java,数据库,中间件)
MySQL Heartbeat+drbd高可用
脚灬印
MySQL mysql
MySQLHeartbeat+drbd高可用环境--具体的配置信息如下所示:角色ip地址主机名字server-idprimary心跳及传输IP:192.168.0.51data-11管理及对外IP:10.0.0.51VIP:10.0.0.151standby心跳及传输IP:192.168.0.52data-21管理及对外IP:10.0.0.51VIP:10.0.0.152Heartbeat安装配置
在Fedora上安装MySQL
ZaxfSass
mysql adb 数据库
MySQL是一种流行的开源关系型数据库管理系统,被广泛用于各种应用程序和网站。在Fedora操作系统上安装MySQL非常简单,本文将向您展示安装MySQL的步骤和相关源代码。步骤1:更新系统在安装MySQL之前,首先需要更新您的Fedora系统以确保您拥有最新的软件包和安全补丁。打开终端并执行以下命令:sudodnfupdate步骤2:安装MySQL服务器现在,我们可以使用DNF包管理器在Fedo
Apollo部署及整合SpringBoot实战
It_BeeCoder
SpringBoot
前言:最近在完成毕业设计,题目是《基于微服务的B2C网上商城系统的设计与实现》,整个项目最早是我在看黑马的培训视频时学习JavaWeb做的一个项目,第一次做完大约在去年过年的时候,这个项目前前后后自己改了差不多5、6次了,使用技术不断更新(还有一些小细节的修改比如最早购物车用Session后来用Redis存储),从最早的Servlet+Filter到SSM+Redis到SpringBoot+Thy
携程开源的分布式apollo技术,整合springboot集成实现动态刷新配置
2401_84584854
程序员 java 面试 学习
最后这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~你的支持,我的动力;祝各位前程似锦,offer不断!!!本文已被CODING开源项目:【
Visual Studio Code(VS Code)支持的编程语言
计算机辅助工程
vscode
JavaScript:VSCode原生支持JavaScript,提供语法高亮、代码折叠、自动补全等功能。推荐使用ESLint和Prettier进行代码格式化和错误检查。TypeScript:作为JavaScript的超集,TypeScript在VSCode中也得到原生支持,提供类似的编辑功能。Python:通过安装Python扩展,VSCode支持Python编程,提供调试、Int
数据库语句
lrydnh
数据库 android
环境变量path下的目录是系统目录。#include#include#pragmacomment(lib,"libmysql.lib")//链接libmysql.dll动态库的中间桥//MYSQL*conn;//数据库句柄。后面还有网络句柄(用来网络收发数据)boolconnect(){conn=mysql_init(NULL);if(conn==NULL){printf("Error%u:%s\
记一次多线程导入问题排查过程
程序辕日记
java MySql java spring boot
记一次多线程导入问题排查过程1.需求2.遇到问题3.排查解决问题1.需求大数据量的核对:现在有1000个excel文件,每个excel文件内有21个sheet页,现在要对这些数据进行核对,需要先将这些数据导入到库中,再进行核对。2.遇到问题库使用的是MySql,程序是Java,springcloud生态,在串行导入的时候,导入一次大概需要60分钟,现在对其进行改造,使用多线程导入,其思路为:创建线
Django-ORM-select_related
巴啦啦小魔仙变身
Python Django django 数据库 sqlite python
Django-ORM-select_related作用使用场景示例无select_related的查询有select_related的查询如何理解"只发起一次查询,包含所有相关作者信息"1.select_related的工作原理2.具体示例解析3.为什么只发起一次查询数据库中的books量巨大,使用`select_related`导致服务崩掉,如何解决程序层面优化1.优化select_relate
使用Couchbase中的向量搜索进行智能查询
eahba
python
技术背景介绍Couchbase是一种强大的分布式NoSQL数据库,广泛应用于云、移动、AI和边缘计算应用中。其向量搜索功能,作为全文搜索服务的一部分,支持在应用中进行高效的语义查询。这为开发者在实现AI驱动的应用时提供了极大的便利。核心原理解析Couchbase的向量搜索利用向量嵌入技术对文本进行处理,可以实现基于语义相似度的查询。这与传统的关键词匹配有根本的不同,更适合AI应用场景中模糊或语义相
如何利用PubMed作为信息检索器 — 结合LangChain实现高效文献查询
bhawfgrcbtwny
langchain python
如何利用PubMed作为信息检索器—结合LangChain实现高效文献查询引言PubMed是由美国国家生物技术信息中心(NCBI)和国家医学图书馆(NLM)维护的一个涵盖超过3500万篇生物医学文献的数据库。对于研究人员和开发者而言,如何高效地从如此庞大的数据库中提取有用的信息是一项挑战。在本文中,我们将探讨如何使用LangChain库中的PubMedRetriever类,从PubMed查询并返回
浅谈模拟退火
Alaso_shuang
算法分类 学习笔记 算法
模拟退火简介模拟退火是一种随机化算法。对于一个当前最优解附近的非最优解,爬山算法直接舍去了这个解。而很多情况下,我们需要去接受这个非最优解从而跳出这个局部最优解,即为模拟退火算法。当一个问题的方案数量极大(甚至是无穷的)而且不是一个单峰函数时,常使用模拟退火求解。实现如果新状态的解更优则修改答案,否则以一定概率接受新状态。模拟退火时有三个参数:初始温度T_0,降温系数d,终止温度T_k。是一个比较
KUKA机器人:智能制造的先锋力量
机器人之树小风
机器人 科技 经验分享
在科技日新月异的今天,自动化和智能化已成为推动制造业转型升级的重要引擎。作为全球领先的智能、资源节约型自动化解决方案供应商,KUKA机器人在这一浪潮中扮演着举足轻重的角色。本文将带您深入了解KUKA机器人的发展现状,探索其在智能制造领域的广泛应用与未来前景。一、KUKA机器人的全球布局与实力KUKA,这家源自德国的跨国自动化集团公司,以其卓越的技术实力和创新能力享誉全球。公司拥有超过15000名员
报表控件stimulsoft操作:使用 Angular 应用程序的报告查看器组件
CodeCraft Studio
控件 angular.js 前端 javascript
StimulsoftUltimate(原StimulsoftReports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NETCore、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,StimulsoftUltimate包含了所有内容!StimulsoftReports最新版下载介绍报告和仪表板查看
我要写整个中文互联网界最牛逼的JVM系列教程 | 「JVM与Java体系架构」章节:如何看待Java上层技术与JVM?
李阿昀
只要你有心 人人都是JVM精通者 java jvm
「JVM与Java体系架构」章节的整体目录从现在开始我们就要正式步入第一章——JVM和Java体系结构的学习中了,首先我们看一下这一章要讲授的主要内容都有哪些。前言面向人群及参考书目Java及JVM简介Java发展的重大事件虚拟机与Java虚拟机JVM的整体结构Java代码执行流程JVM的架构模型JVM的生命周期JVM的发展历程从上面可以看到,这一章节的内容分量还是比较充足的,而且也比较详细,因为
十条解决笔记本电脑摄像头问题方案
YOHAYOLa
日常笔记本电脑遇到的各种问题 摄像头 电脑摄像头问题 科技 生活 windows 其他
最近我在各种投简历,然后很开心收到了各种各样的线上笔试通知。很多线上笔试都是基于多个平台进行的,例如牛客网、猿圈等。大多数笔试测试平台都是要求打开摄像头以及麦克风。相信也有很多伙伴在线上笔试或者面试的时候和我遇到了相同的问题——摄像头工作故障!根据我最近的经验,可以给大家汇总了几种解决方案!(每一条我都亲身测评过了!)本人电脑联想win10系统出现问题为摄像头闪退,时而正常时而黑屏。先给大家一个摄
使用Vespa进行高级检索与向量数据库管理
scaFHIO
数据库 python
技术背景介绍在现代信息检索领域,为了提供精准且高效的搜索体验,往往需要结合使用向量搜索(ANN)、词法搜索以及结构化数据搜索。Vespa作为一个功能完备的搜索引擎与向量数据库,为我们提供了一站式的解决方案。本文将详细介绍如何使用Vespa进行高级检索,并通过代码示例展示其实际应用。核心原理解析Vespa具备以下核心功能:向量搜索(ANN):基于向量空间的近似最近邻搜索,提高了高维数据检索的效率。词
Java集成InfluxDB
动亦定
物联网 数据库 java 数据库
1.添加InfluxDB依赖首先,在项目中添加InfluxDB的Java客户端依赖。如果使用Maven,可以在pom.xml中添加以下依赖:com.influxdbinfluxdb-client-java6.3.02.创建InfluxDB客户端接下来,创建InfluxDB客户端实例,用于连接InfluxDB服务器。importcom.influxdb.client.InfluxDBClient;i
物联网实时数据存储方案选择
动亦定
MySQL 物联网 数据库 物联网 时序数据库 数据库
存储物联网设备发出的实时数据时,需考虑数据量、速度、类型和访问需求。以下是几种常见的存储方案:1.时序数据库适用场景:适合处理时间序列数据,如传感器数据。优点:高效存储和查询时间序列数据,支持高写入和查询吞吐量。常见选择:InfluxDB、TimescaleDB、Prometheus。2.NoSQL数据库适用场景:适合非结构化或半结构化数据,如JSON、XML。优点:灵活的数据模型,易于扩展,适合
Java直通车系列28【Spring Boot】(数据访问Spring Data JPA)
浪九天
Java直通车 java spring spring boot 开发语言 后端
目录SpringDataJPA概述核心概念1.仓库接口(Repository)2.实体类(Entity)3.方法命名查询4.@Query注解场景示例步骤1:添加依赖步骤2:配置数据库连接步骤3:创建实体类步骤4:创建仓库接口步骤5:创建服务类步骤6:创建控制器类测试示例SpringDataJPA概述SpringDataJPA是Spring提供的一个用于简化JPA(JavaPersistenceAP
Java直通车系列27【Spring Boot】(配置文件使用)
浪九天
Java直通车 java spring boot spring 后端 开发语言
目录配置文件的作用与格式配置文件的类型配置文件的加载顺序场景示例SpringBoot中配置文件的使用非常灵活和重要,主要有.properties和.yml(.yaml)两种格式:配置文件的作用与格式作用:用于配置SpringBoot应用程序的各种属性,如数据库连接信息、服务器端口、日志级别、自定义属性等,实现对应用行为的定制化。.properties格式:以键值对形式存储配置信息,每行一个键值对,
Java直通车系列19【Spring MVC】(国际化支持)
浪九天
Java直通车 java spring mvc 开发语言
目录国际化支持机制概述1.资源束(ResourceBundle)2.MessageSource3.LocaleResolver4.LocaleChangeInterceptor场景示例1.创建资源束文件2.配置MessageSource3.配置LocaleResolver4.配置LocaleChangeInterceptor5.创建控制器和视图解释国际化支持机制概述SpringMVC的国际化支持主
Flutter 加载网络图片之:FadeInImage + Image.network
zeqiao
Flutter flutter FadeInImage Image.network gif 回调
想实现的效果:1、通过网络url加载图片(支持gif)2、加载之前使用默认占位图3、加载出现问题后要做兜底处理其实可以通过先将图片资源加载到本地文件中,然后读出来设置,虽然要绕一圈,但不失为一个好方案。但是,为了熟悉Flutter的图片相关知识,还是采用官方提供的API来试着实现。下面是最终方案:FadeInImage(image:_addImageLoadListener(imageUrl),/
【HarmonyOS NEXT应用开发】案例89:基于Swiper的页面布局
青少年编程作品集
华为 harmonyos 华为云 华为od linq azure
场景一:Swiper页面支持自定义动画方案:给Swiper组件设置.nextMargin(50).prevMargin(50)属性。给Swiper组件添加onChange事件,设置当前this.currentIndex=index,当currentIndex为首页或者尾页时,设置上一张以及下一张图片的缩放值。核心代码:.onChange((index)=>{console.info('change
JSON对象处理工具类
波波有料
JAVA json java 开发语言
目录1.工具类的功能设计2.工具类的实现依赖配置工具类代码3.工具类的使用示例示例1:美化JSON打印示例2:从JSON中提取数据示例3:修改JSON数据示例4:合并JSON对象4.总结在现代软件开发中,JSON(JavaScriptObjectNotation)是一种广泛使用的轻量级数据交换格式。由于其简洁性和易读性,JSON被广泛应用于API通信、配置文件、数据存储等场景。然而,在处理JSON
深入理解正则表达式及基本使用教程
波波有料
JAVA 正则表达式
目录摘要一、正则表达式是什么?二、正则表达式的基本语法1.元字符2.字符集与范围3.常用预定义字符集4.分组与反向引用捕获分组:非捕获分组:三、Java中正则表达式的实现1.Java基础示例2.替换字符串3.验证输入格式4.提取信息5.拆分字符串四、常见正则表达式应用场景1.手机号验证2.提取HTML标签内容3.替换多余空格五、总结摘要正则表达式(RegularExpression,简称Regex
Apache Commons Lang3 和 Commons Net 详解
波波有料
apache
目录1.ApacheCommonsLang31.1什么是ApacheCommonsLang3?1.2主要功能1.3示例代码2.CommonsNet2.1什么是CommonsNet?2.2主要功能2.3示例代码3.总结3.1ApacheCommonsLang33.2CommonsNet3.3使用建议4.参考资料前言在Java开发中,ApacheCommons项目提供了许多实用的工具库,帮助开发者更高
JavaScript 性能优化实战案例与解决方案
Real Man★
javascript 性能优化 开发语言
JavaScript性能优化是提升Web应用流畅度和用户体验的核心环节。以下是针对常见性能问题的实战案例与优化方案,涵盖代码优化、渲染优化、内存管理等多个方面:一、高频事件处理优化案例1:滚动事件卡顿问题:页面监听scroll事件实现动态效果,但频繁触发导致卡顿。优化方案:javascript复制//1.节流(Throttle):固定时间间隔执行functionthrottle(fn,delay)
Java统计代码的执行时间的6种方法
码叔义
java基础 java 开发语言
Java统计代码的执行时间的6种方法前言:在日前开发中我们会遇到需要统计运行的时间但是又不想运用JMH测试框架,所以本文就汇总了一些比较常用的统计时间的测试方法,总共有6种,我做了一个大概的思维导图:方法一,这个方法System.currentTimeMillis()和System.nanoTime()都是java内置的方法。packagecom.qfedu.first;publicclasste
Flutter中网络图片加载和缓存
Flutter编程指南
Flutter Flutter APP Dart http 跨平台技术
文章目录前言重温小部件ImageImage.network源码分析实际问题解决方案代码实现自定义ImageProvider使用写在最后前言应用开发中经常会碰到网络图片的加载,通常我们会对图片进行缓存,以便下次加载同一张图片时不用再重新下载,在包含有大量图片的应用中,会大幅提高图片展现速度、提升用户体验且为用户节省流量。Flutter本身提供的ImageWidget已经实现了加载网络图片的功能,且具
遇到 “No supported authentication method available” 错误的完整解决方案
四月的我
linux
问题原因此错误表示SSH服务器拒绝了WinSCP的认证方式(如密码或密钥)。常见原因:SSH服务器配置禁用了密码认证(PasswordAuthenticationno且未配置密钥)。用户目录权限错误导致SSH无法读取认证文件。密钥认证配置错误(如authorized_keys权限问题)。解决方案步骤1:确保启用密码认证在WSL中编辑SSH配置文件:bashsudonano/etc/ssh/sshd
分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP 代理服务器 匿名代理 免费代理IP 最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
mysql高级特性之数据分区
annan211
java 数据结构 mongodb 分区 mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
JS采用正则表达式简单获取URL地址栏参数
chiangfai
js 地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
logbackのhelloworld
飞翔的马甲
日志 logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
synchronized
香水浓
java thread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
Karam与TDD
bijian1013
Karam TDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
[Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
一份IT实习生的总结
brotherlamp
PHP php资料 php教程 php培训 php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
mysqldump导出时出现when doing LOCK TABLES
daizj
mysql mysqdump 导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginx lua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
10招让你成为杰出的Java程序员
pda158
java 编程 框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
Oracle 分页算法汇总
vipbooks
oracle sql 算法 .net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag