avatar
文章
101
标签
91
分类
4
首页
归档
是我
友链
Logo星空
搜索
首页
归档
是我
友链

星空

Spring中几种常用的Bean配置方式
发表于2018-10-14|JAVA
简介Spring 3.x提供了三种配置,分别是:基于XML的配置、基于注解的配置和基于Java类的配置。 下面分别介绍下这三种配置方式;首先定义一个用于举例的JavaBean。 123456789101112package com.abc.servicepublic class userService{ …… // 用于设置初始化方法 public void init() { } // 用于设置销毁方法 public void destory() { } } 1.基于XML配置12345<bean id=“userService” class=“com.abc.service.impl.userServiceImpl” lazy-init=“true” init-method=“init” destroy-method=“destory” scope=“prototype”>...
sql之left join、right join、inner join的区别
发表于2018-10-14|技术手册
left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录inner join(等值连接) 只返回两个表中联结字段相等的行 举例如下:表A记录如下: 123456aID     aNum1     a200501112     a200501123     a200501134     a200501145     a20050115 表B记录如下: 123456bID     bName1     20060324012     20060324023     20060324034     20060324048     2006032408 1.left joinsql语句如下: 123select * from Aleft join B on A.aID = B.bID 结果如下: 123456aID     aNum     bID     bName1     a20050111    1     20060324012     a20050112    2   ...
说一说Java异常处理的心得体会
发表于2018-10-14|JAVA
1.切勿捕获异常不处理使用try-catch捕获异常后,无任何处理,这样的做法会吞噬异常,外层代码或调用方无法感知异常的发生。捕获异常后,打印错误日志,可以立即处理掉,也可以直接向外抛出或构建内部异常向外抛出,切勿无任务处理操作。 2.不要catch中捕获Exception异常Exception代表的是异常的大类,而代码中通常需要捕获的是某某特定异常,进而进行特定的异常处理;而且,从写代码的角度来说,捕获清晰明了的特定异常会提升代码的可读性。 3.切勿使用e.printStackTrace()e.printStackTrace()方法打印出的信息不利于跟踪出错的具体轨迹,特别是对于一些复杂的系统,所以切勿使用。 4.减小try块的范围try-catch会影响JVM对代码进行优化,所以尽量减少try块中的代码,只对有必要的代码进行try。 5.切勿在finally块中对返回值进行操作finally代码块一般用于收尾工作,例如释放资源、释放连接等,如果在这里有对返回值进行操作的处理,可能会被忽略。 6.有必要,才使用每创建一个Exception实例,都会对栈信息进行快照,如果很频繁...
mysql主从同步原理、配置以及延迟
发表于2018-10-14|技术手册
我们先来了解什么是主从同步,主从同步,顾名思义也称为主从复制,用来建立一个和主数据库完全一样的数据库环境。主从同步使得数据可以从一个数据库服务器复制到其他服务器上,实现主数据库的数据和从数据库的数据保持一致。 集群是共享存储的,是data-sharing . 主从复制中没有任何共享 . 每台机器都是独立且完整的系统,是nothing-sharing. 主从同步的原理 从mysql5.6之后主从复制的实现方式主要有3种: 异步复制 全同步复制 半同步复制 主从同步原理图 1.当主数据库的更新事件(update、insert、delete)被写到binary-log . 2.从库创建一个I/O线程,该线程连接到主库并请求主库发送binlog里面的更新记录到从库上 .主库创建一个binlog dump thread线程,把binlog的内容发送到从库 ,从库的I/O线程读取主库的输出线程发送的更新并拷贝这些更新到本地relay log文件中 . 3.从库创建一个SQL线程,这个线程读取从库I/O线程写到relay log的更新事件并执行 . 主...
15个对MySQL的优化建议与总结
发表于2018-10-14|技术手册
1、 为查询缓存优化查询 像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,谨慎使用 2、EXPLAIN 我们的SELECT查询(可以查看执行的行数) 可以让我们找到潜在的性能问题 3、当只要一行数据时使用LIMIT 1 MySQL数据库引擎会在查找到一条数据后停止搜索,而不是继续往后查询下一条符合条件的数据记录。 4、为搜索字段建立索引 在识别度高的列上建立正确的索引,以提升性能 5、在Join表的时候使用相当类型的列,并将其索引 关联表的关键字段,类型一致,字符集一致,才能提高性能,否则无法使用它们的索引 6、千万不要 ORDER BY RAND () 执行RAND()函数(很耗CPU时间),会让你的数据库的性能呈指数级的下降 7、 避免SELECT * 从数据库里读出越多的数据,那么查询就会变得越慢。 8、永远为每张表设置一个ID 我们应该为数据库里的每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的 AUTO_INCREMENT标志。 9、可以使用ENUM 而不要VARCHAR EN...
MYSQL千万级数据量的优化方法积累
发表于2018-10-14|技术手册
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则引擎将放弃使用索引而进行全表扫描。 4.应尽量避免在 where 子句中使用or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num=10 or num=20可以这样查询:select id from t where num=10 union all select id from t where num=20 5.in 和 not in 也要慎用,否则会导致全表扫描,如:se...
mysql中间件-Mycat
发表于2018-10-14|技术手册
前言因业务需要,给mysql做了主备,然后准备使用数据库中间件来进行读写分离和分片。 学习过程学习过程中使用了三台服务器,一主两备,此处只用一主一备参与中间件的试用。 集群组成如下: 角色 主机名 主机IP master liunian1 192.168.1.1 slave liunian2 192.168.1.2 slave liunian3 192.168.1.3 先配置mycat配置文件schema.xml 123456789101112131415161718<?xml version="1.0"?><!DOCTYPE mycat:schema SYSTEM "schema.dtd"><mycat:schema xmlns:mycat="http://io.mycat/"> <!-...
Mybatis中SQL的语句总结
发表于2018-10-14|JAVA
建表 查询 简单查询 注意:如果这里不指定parameterType,则默认会识别处理;如果指定了类型,则传入的值就需要和当前指定的类型保持一致,不然就会出现数据类型转换异常。 简单分页查询 left join app_info表和app_verion表分别存储的是应用信息和应用版本信息。现在要根据appId和versionId查出一个应用的具体信息【包括信息信息和版本信息】 批量查询 更新 简单更新 批量更新 有这样一个需求,把 app_info表中id 为1,2,3的app的app_name改为appName1,appName2,appName3;使用 case ..when ..then 这样的语法结构来完成: case 是当前的条件,when表示条件值,then后面是当前目前更新字段的值; 1下面的说明:当前id=#{item.appId}时,app_name=#{item.appName} 还有这样的需要: 根据应用类型的不同,更新不同的运行环境配置; trim属性说明 ...
mysql中间件-Atlas初步试用
发表于2018-10-12|技术手册
前言Atlas是360开源的mysql数据库中间件,主要致力于读写分离,分片等操作,降低数据库与后端耦合性。 踩坑过程下载地址 https://github.com/Qihoo360/Atlas/releases 下载rpm 版本 直接 rpm -i 文件.rpm进行安装即可 安装好之后文件在/usr/local/mysql-proxy文件夹中 配置conf/test.cnf 如下所示: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667[mysql-proxy]#带#号的为非必需的配置项目#模块名称plugins = admin, proxy#管理接口的用户名admin-username = root#管理接口的密码admin-password = password#实现管理接口的Lua脚本所在路径admin-lua-script = /u...
centos7安装MYSQL及主从同步设置
发表于2018-10-12|技术手册
1. 下载mysql wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz 2. 解压mysqltar -zxvf mysql mysql-5.7.23-linux-glibc2.12-i686.tar.gz 3. 将mysql安装文件移动到系统目录文件夹cp -r mysql/* /usr/local/mysql 4. 安装mysql`bin/mysqld –initialize –user=mysql –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –lc_messages_dir=/usr/local/mysql/share –lc_messages=en_US`` - 遇到问题bin/...
1…891011
avatar
Jack
星空
文章
101
标签
91
分类
4
公告
冬天来了,春天还会远吗!
最新文章
使用 OpenVPN 实现 NAS 的安全外网访问2025-04-20
使用阿里云函数部署bitwarden2024-12-20
一次横跨三个不同云基础设施的超长流水线尝试2024-11-17
在Windows Server 2022 服务器上搭建FTP站点2024-04-10
备份postgres到OSS和COS2023-11-15
分类
  • JAVA19
  • 技术手册75
  • 日常生活1
  • 研发规范6
标签
APPLE LINUX GITHUB elasticsearch DOCKER grafana GIT standard-notes AI spring bean ssl aliyun function transactional prometheus clash JDK Golang GITEE backup mycat 星火大模型 maven bitwarden CODEUP stream minio mybatis caddy mysqldump docker vim 抢占式实例 openvpn 日常生活 CENTOS ftp redis CODING waf jenkins
网站信息
文章数目 :
101
运行时间 :
本站访客数 :
本站总浏览量 :
最后更新时间 :
© 2017 - 2025 By Jack
皖ICP备-17017700号京公网安备11011202001448号 
搜索
数据加载中