月星墙的博客

Better Code, Better Life


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 站点地图

  • 搜索

SQL优化

发表于 2018-07-27 | 分类于 db
总结 关于日期类型的问题 12345-- oracle遇到过:通过to_date转换比直接传入 cn.hutool.core.date.DateTime extends java.util.Date 要快and t.create_tm > to_date(#{query.createTmStr}, 'yyyy-mm-dd hh24:mi:ss') -- 优于 and t.create_tm > #{query.createTm}-- mysql: 传入字符串也会触发索引(貌似数据量大加上时间区间大的时候会失效?要转船日期)and t.create_tm > '2000-01-01' and t.create_tm < '2000-01-31' join索引表前移 123-- oracle遇到过: b表上有索引,此处应该将b前移(如果被left join打断就会走不了索引)select * from a join b left join c where b.create_tm > '2000-01-01';-- select * from a left join c join b where b.create_tm > '2000-01-01'; -- 查询效率低 比如统计用户的点击情况,根据用户年龄 ...
阅读全文 »

Java各版本新特性

发表于 2018-04-11 | 分类于 java
简介 Java SE Specifications各版本规范 JDK9新特性 ^3模块系统(Jigsaw) 在引入了模块系统之后,JDK 被重新组织成 94 个模块。Java 应用可以通过新增的 jlink 工具,创建出只包含所依赖的 JDK 模块的自定义运行时镜像。这样可以极大的减少 Java 运行时环境的大小 Java 9 模块的重要特征是在其工件(artifact)的根目录中包含了一个描述模块的 module-info.class 文 件。 工件的格式可以是传统的 JAR 文件或是 Java 9 新增的 JMOD 文件。这个文件由根目录中的源代码文件 module-info.java 编译而来 示例 123456789101112// jdk9_module1 下 module-info.java// module-info.java文件必须位于项目的根目录中(源码根目录,如此时和cn目录同级)。该文件用于定义模块需要什么依赖,以及那些包被外部使用module cn.aezo.javase.jdk.jdk9_module1 { exports cn.aezo.javase.jdk.jdk9_module1;}// jdk9_module2 下 module-info.javamodule cn.aezo.javase.jdk.jdk9_modul ...
阅读全文 »

Vue

发表于 2018-04-03 | 分类于 web
简介 参考文章 https://juejin.cn/post/6844903476661583880 vue异常代码开发环境正常报错,编译之后不报错且页面卡死问题。参考: https://github.com/PanJiaChen/vue-element-admin/issues/2212 Vue3 选项式和组合式:选项时为类似Vue2的JSON模式,组合式为类似React的函数式模式(使我们可以使用函数而不是声明选项的方式书写 Vue 组件) Vue3中没有了$parent和$children 可通过getCurrentInstance()获取当前组件,findComponentUpward()向上查找父组件,和findComponentsDownward()向下查找子组件。参考:https://juejin.cn/post/7117808675716071460 文章 Vue3结合JSX babel-plugin-jsx 插槽和v-model使用:https://blog.csdn.net/cookcyq__/article/details/131440253 Vue2 与 Vue3 如何创建响应式数据 语法 v-model 单个属性建议使用modelValue(固定props值),此时直接v-model="data"即可 多个属性可定义 ...
阅读全文 »

Hadoop

发表于 2018-03-13 | 分类于 bigdata
简介 Hadoop([hædu:p])作者Doug cutting,名字来源于Doug Cutting儿子的玩具大象 模块 HDFS(Hadoop Distributed File System) 分布式存储系统 Hadoop MapReduce 分布式计算框架 Hadoop YARN 资源管理系统(Hadoop 2.x才有) Hadoop Common 网址 官网 r1.0.4中文文档 r2.10.1文档 谷歌论文(理论来源) 《The Google File System》 2003年 《MapReduce: Simplified Data Processing on Large Clusters》 2004年 《Bigtable: A Distributed Storage System for Structured Data》 2006年 版本:2016年10月hadoop-2.6.5,2017年12月hadoop-3.0.0 大数据生态CDH提供商 HDFSHDFS基础概念 HDFS优缺点 优点:高容错性(自动保存副本,自动恢复)、适合批处理、适合大数据(TB/PB)处理、可构建在廉价机器上 缺点:占用内存大、修改文件成本过高 存储模型 文件线性按字节切割成块(block),具有offset,id 文件与文件的block大小可以不一样 一个文件除最后一个 ...
阅读全文 »

Solr

发表于 2018-03-13 | 分类于 bigdata
简介 Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。 基于开放接口(XML和HTTP)的标准进行索引创建和查询 (基于Lucene通过HTTP请求进行数据索引管理) 可伸缩性-能够有效地复制到另外一个Solr搜索服务器 附带了一个基于HTTP管理界面 Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的。Lucene专注于搜索底层的建设,而Solr专注于企业应用 Solr内嵌Jetty和ZooKeeper。SolrCloud 模式是基于ZooKeeper的,会自动启动ZooKeeper服务。 官网:https://lucene.apache.org/solr/ 官方教程、solr-7.2-pdf 各版本下载地址(本文基于solr-7.2.0进行说明,需要jdk1.8及以上) 相关概念 collection/core 均指以不同的数据结构来对数据进行索引(索引库、集合) schema为一个xml配置文件,主要用于配置字段和字段类型,动态字段等。(如某个字段可忽略大小写也可在其中配置) 安装及使用 ^1下载解压说明 下载tar包解压 tar -zxvf solr-7.2.1.tgz -C /opt/soft,目录说明 example 几个 ...
阅读全文 »

Lucene

发表于 2018-03-13 | 分类于 bigdata
简介 Lucene是一个基于java开发的全文搜索框架。本文基于lucene-4.9.1(文档/API在解压文件的/lucene-4.9.1/docs目录) 倒排索引:根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(invertedindex) lucene提供的服务实际包含两部分:一入一出。所谓入是写入,即将你提供的源(本质是字符串)写入索引或者将其从索引中删除;所谓出是读出,即向用户提供全文搜索服务,让用户可以通过关键词定位源 写入流程:源字符串首先经过analyzer分词处理。将源中需要的信息加入Document的各个Field中,并把需要索引的Field索引起来,把需要存储的Field存储起来。将索引写入存储器(内存或磁盘) 读出流程:用户提供搜索关键词,经过analyzer处理。对处理后的关键词搜索索引找出对应的Document。用户根据需要从找到的Document中提取需要的Field 企业海量数据搜索服务器架构 本地文件内容搜索实践 具体参考 smjava/lucene 相关jar包 12345lucene-core-4.9.1.jar # 核心包lucene-queries-4.9.1.jar # 检索lucene-querypar ...
阅读全文 »

Java应用CPU和内存异常分析

发表于 2018-03-13 | 分类于 devops
简介 TODO https://my.oschina.net/xionghui/blog/498785 java应用常见故障:高CPU占用、高内存占用、高I/O占用(包括磁盘I/O、网络I/O、数据库I/O等) 高CPU常见场景:死循环(如while导致的较多)、高内存导致 高内存占用也会引起高CPU占用:内存溢出后,java的GC便会运行非常频繁,从而导致高CPU(此时可能已经产生了dump文件,但是应用还能访问,只是速度较慢。临时可考虑先重启服务) 相关命令参考常用命令介绍:1-4 高内存常见场景:List集合数据量过大(常见从数据库获取大量数据,而没有进行分页获取) ^2 java.lang.OutOfMemoryError: PermGen space,原因可能为 程序启动需要加载大量的第三方jar包。例如:在一个Tomcat下部署了太多的应用 java.lang.OutOfMemoryError: Java heap space,原因可能为 Java虚拟机的堆内存设置不够,可以通过参数-Xms、-Xmx来调整 代码中创建了大量大对象,并且长时间不能被垃圾收集器收集(存在被引用) 在Java虚拟机中,内存分为三个代 新生代New:新建的对象都存放这里 老生代Old:存放从新生代New中迁移过来的生命周期较久的对象。新生代New和老生代Old共同组成了堆内存 ...
阅读全文 »

LVS

发表于 2018-03-04 | 分类于 arch
简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器 负载均衡解决方案主要分为硬件层面和软件层面 硬件如:F5等(一台一般15万) 软件可分为第四层和第七层协议:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 第四层如:lvs LVS 在实现上,介于网络层(IP)和传输层(TCP)之间;只能操作ip和端口,在操作系统内核中 第七层(应用层:http/ajp/https)如:nginx、httpd(apache)、haproxy LVS 的组成包括 ipvs 和 ipvsadm ipvs(ip virtual server):一段代码工作在内核空间,叫ipvs(所有的linux都有此功能) ipvsadm:另外一段是工作在用户空间,叫ipvsadm,负责为ipvs内核框架编写规则,定义谁是集群服务,而谁是后端真实的服务器(Real Server)。安装yum install ipvsadm -y 相关术语 DS:Director Server。指的是前端负载均衡器节点 RS:Real Server。后端真实的工作服务器 VIP:向外部直接面向用户请求,作为用户请求的目标的IP地址 DIP:Director Server IP,主要用于和内部主机通讯的IP地址 RIP:Real Server IP,后端服务器的IP地址 C ...
阅读全文 »

Keepalived

发表于 2018-03-03 | 分类于 arch
简介 Keepalived是一个免费开源的,用C编写的类似于layer3, 4 & 7交换机制软件,具备我们平时说的第3层、第4层和第7层交换机的功能 主要提供loadbalancing(负载均衡)和 high-availability(高可用)功能 负载均衡实现需要依赖Linux的虚拟服务内核模块(ipvs),而高可用是通过VRRP(虚拟路由冗余协议Virtual Router Redundancy Protocol)协议实现多台机器之间的故障转移服务 安装使用 yum -y install keepalived 直接安装 或者源码安装 ^1 systemctl start keepalived 启动 (需要关闭SELinux) 启动后自动绑定虚拟ip,通过ip addr可查看绑定的虚拟ip keepalived.conf配置说明 文件位置 /etc/keepalived/keepalived.conf keepalived配置文件主要包含三块:全局定义块、VRRP实例定义块、虚拟服务器定义块(如果keepalived只用来做ha,虚拟服务器是可选的) 配置说明 ^1 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525 ...
阅读全文 »

memcached缓存数据库

发表于 2018-03-03 | 分类于 db
简介 菜鸟教程 memcached集群需要多台服务器时间一致(30s以内) 安装和使用 yum –y install memcached 安装 systemctl start memcached 启动(默认端口11211) 测试存值取值 123456789telnet localhost 11211# 设置变量abc的长度为5set abc 0 0 5# 设置abc的值为12345,长度必须和上面一致12345# 获取abc的值get abc# 退出quit 解决session一致性(session共享)参考《nginx》的【反向代理和负载均衡】部分
阅读全文 »
1…8910…17
smalle

smalle

167 日志
14 分类
153 标签
RSS
欢迎关注公众号:阿壹族 欢迎关注公众号:阿壹族
© 2016 - 2025 smalle    
由 Hexo 强力驱动
主题 - NexT.Mist
站长统计
AD    
阿里云大礼包
©AEZO.CN    
圣骑科技
【One能抽屉】小程序
杂货铺(省钱小助手)