学习笔记
alterem
用户名 : oschina_40914891用户名 : oschina_40914891用户名 : oschina_40914891用户名 : oschina_40914891用户名 : oschina_40914891http://my.csdn.net/?ref=toolbar_logo#
展开
-
数据库中间件-jdbi
文章来源:https://www.jianshu.com/p/1ee34c858cb9Java 的数据库原生使用 jdbc,中间件有很多,例如说 hibernate、mybatis、jdbi,这几种是最常用的中间件。怎么选择一般情况下,如果始终只会使用到一种数据库,jdbc 就是最好的选择了,使用这种方式,就是直接使用最底层的东西,定位问题等都非常方便。数据库中间件就是节省开发人力,用很少的代码就可以快速开发。但是也会引入一些复杂度,特别是如果对中间件不熟悉或者中间件存在 bug,会导致更高.原创 2020-05-20 22:27:03 · 959 阅读 · 0 评论 -
JVM监控命令详解
JVM监控命令基本就是 jps、jstack、jmap、jhat、jstat 几个命令的使用就可以了JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。现实企业级Java开发中,有时候我们会碰到下面这...原创 2020-01-10 14:40:31 · 1050 阅读 · 0 评论 -
谁不是一边娶妻生子,一边死在路上。请你好好生活
今天分享一个不一样的:谁不是一边娶妻生子,一边死在路上。请你好好生活18岁,你上了大学20岁,你大二_结束,开始悔恨。自己前两年的幼稚行为于是开始努力22岁你大学毕业了,却发现找不到一份另自己满意的工作。26岁,你看着身边的人一个个都结了婚。婚礼的份子钱逐年递增。春节回家,父母带你去串亲戚。变成了带你去见相亲对象见了十几个姑娘你每次都觉得和那个她比差了一点28岁,你在遇见了一个和你遭遇差...翻译 2019-12-11 10:50:58 · 1039 阅读 · 0 评论 -
Java注解合并,注解继承
spring中有时候一个类上面标记很多注解。实际上Java注解可以进行继承(也就是把多个注解合并成1个)比如说SpringMVC的注解@RestController@RequestMapping("/person")可以合并为一个@PathRestController("/user")实现是:import java.lang.annotation.Documented;imp...原创 2019-12-07 14:53:45 · 1896 阅读 · 0 评论 -
git 切换远程仓库地址
1、切换远程仓库地址:方式一:修改远程仓库地址【git remote set-url origin URL】 更换远程仓库地址,URL为新地址。方式二:先删除远程仓库地址,然后再添加【git remote rm origin】 删除现有远程仓库【git remote add origin url】添加新远程仓库2、【git remote -v 】查看远程仓库的地址...原创 2019-11-21 15:30:17 · 865 阅读 · 0 评论 -
压缩20M文件从30秒到1秒的优化过程
文章来源公众号:IT牧场有一个需求需要将前端传过来的10张照片,然后后端进行处理以后压缩成一个压缩包通过网络流传输出去。之前没有接触过用Java压缩文件的,所以就直接上网找了一个例子改了一下用了,改完以后也能使用,但是随着前端所传图片的大小越来越大的时候,耗费的时间也在急剧增加,最后测了一下压缩20M的文件竟然需要30秒的时间。压缩文件的代码如下。public static void...原创 2019-11-20 10:42:25 · 852 阅读 · 0 评论 -
CentOS 7下MySQL 5.7安装
5.7和之前版本的MySQL有一些不同,现把CentOS 7下MySQL 5.7安装、配置与应用完整过程记下来,或许对新手来说有用。本文描述的安装是采用通用的二进制压缩包(linux – Generic)以解压方式安装,相当于绿色安装了。一、下载通用安装二进制包先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/选择 linux – Gen...原创 2019-11-08 11:26:23 · 854 阅读 · 0 评论 -
CentOS6.5下安装JDK1.7 MYSQL5.5 TOMCAT7 nginx1.7.5环境安装文档
----------------CentOS6.5下安装JDK1.7 MYSQL5.5 TOMCAT7 nginx1.7.5环境安装文档-----------------------【JDK1.7安装】1)登录Sun的JDK官方下载网 址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-18802...原创 2019-11-08 11:24:40 · 941 阅读 · 0 评论 -
CentOS下安装FreeTDS
导读官方网站:http://www.freetds.org下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz这个软件能够用Linux和Unix连接MS SQLServer和Sybase数据库安装与配置首先下载FreeTDS安装包到服务器 wget -c http://...原创 2019-11-05 14:20:39 · 1946 阅读 · 0 评论 -
重温乔布斯最经典演讲:求知若饥-虚心若愚
Thank you. I am honored to be with you today at your commencement from one of the finest universities in the world. Truth be told, I never graduated from college. This is the closest I’ve ever gott...原创 2019-11-04 16:36:05 · 1152 阅读 · 0 评论 -
公共DNS性能大比拼
今天中午,访问Gitee突然访问不进去,然后收到红薯通知:阿里云停止了 Gitee.com 的域名解析。 码云官方也随后给出解决办法没有任何提示,没有任何提前通知,阿里云停止了 Gitee.com 的域名解析!!!我们正在跟阿里云联系了解具体情况!如果你访问不了请暂时在 hosts 里映射 gitee.com 域名到 IP地址 212.64.62.174对...原创 2019-10-21 18:22:35 · 2875 阅读 · 0 评论 -
Python自动更换壁纸爬虫与tkinter结合
直接上代码import ctypesimport timeimport requestsimport osfrom threading import Threadfrom tkinter import Tk, Label, Button,Entry,StringVar,messagebox# '放到AppData\Roaming\Microsoft\Windows\Start Men...原创 2019-10-16 17:37:33 · 328 阅读 · 0 评论 -
MySQL的5种时间类型的比较
日期时间类型占用空间日期格式最小值最大值零值表示DATETIME8 bytesYYYY-MM-DD HH:MM:SS1000-01-01 00:00:009999-12-31 23:59:590000-00-00 00:00:00TIMESTAMP4 bytesYYYY-MM-DD HH:MM:SS197001010800012038 年的某个时刻0...原创 2019-10-15 11:54:01 · 1235 阅读 · 0 评论 -
MySQL在CentOS上执行自动备份
开发中我们常常有使用Svn或者Git来管理我们的代码或者是项目相关的文件,然而他们都有一个共同点就是:版本控制 很多人会问为什么要使用Svn或者是Git,那么我会问:我相信你写的代码很好,但是有一天你修改了很多很多的Bug,但是突然想到以前的代码中有一个比较重要的算法你不小心覆盖掉了,这时候你应该怎么办? 或许你会告诉我你可以在修改这些代码之前备份一次当前修改的文件...原创 2019-10-13 23:41:57 · 334 阅读 · 0 评论 -
在RedisTemplate中使用scan代替keys指令
keys * 这个命令千万别在生产环境乱用。特别是数据庞大的情况下。因为Keys会引发Redis锁,并且增加Redis的CPU占用。很多公司的运维都是禁止了这个命令的当需要扫描key,匹配出自己需要的key时,可以使用 scan 命令scan操作的Helper实现import java.io.IOException;import java.nio.charset.StandardChar...原创 2019-08-30 09:55:26 · 14130 阅读 · 5 评论 -
编写自己的代码库
1.前言大家在开发的时候应该知道,有很多常见的实例操作。比如数组去重,关键词高亮,打乱数组等。这些操作,代码一般不会很多,实现的逻辑也不会很难,下面的代码,我解释就不解释太多了,打上注释,相信大家就会懂了。但是,用的地方会比较,如果项目有哪个地方需要用,如果重复写的话,就是代码沉余,开发效率也不用,复用基本就是复制粘贴!这样是一个很不好的习惯,大家可以考虑一下把一些常见的操作封装成函数,调用的时...原创 2019-09-12 09:58:03 · 1091 阅读 · 0 评论 -
利用setenv进行tomcat 内存设置
part.1 系统环境及版本系统环境: centos 7版本: tomcat 7.0.78part.2 步骤流程2.1 新建setenv.sh# cd /usr/local/tomcat/bin# touch setenv.sh2.2 添加内存信息# vim setenv.shexport CATALINA_OPTS="$CATALINA_OPTS -Xms{{ Xms ...原创 2019-09-11 09:57:58 · 2223 阅读 · 0 评论 -
使用Nginx、Nginx Plus防止服务器DDoS攻击
分布式拒绝服务攻击(DDoS)指的是通过多台机器向一个服务或者网站发送大量看似合法的数据包使其网络阻塞、资源耗尽从而不能为正常用户提供正常服务的攻击手段。随着互联网带宽的增加和相关工具的不断发布,这种攻击的实施难度越来越低,有大量IDC托管机房、商业站点、游戏服务商一直饱受DDoS攻击的困扰,那么如何缓解甚至解决DDoS呢?最近Rick Nelson在Nginx的官方博客上发表了一篇文章,介绍了如...原创 2019-09-10 10:16:36 · 851 阅读 · 0 评论 -
【Nginx】实现负载均衡的几种方式
要理解负载均衡,必须先搞清楚正向代理和反向代理。注:正向代理,代理的是用户。反向代理,代理的是服务器什么是负载均衡当一台服务器的单位时间内的访问量越大时,服务器压力就越大,大到超过自身承受能力时,服务器就会崩溃。为了避免服务器崩溃,让用户有更好的体验,我们通过负载均衡的方式来分担服务器压力。我们可以建立很多很多服务器,组成一个服务器集群,当用户访问网站时,先访问一个中间服务器...原创 2019-09-09 10:46:23 · 829 阅读 · 0 评论 -
一台Linux服务器可以负载多少个连接?
首先我们来看如何标识一个TCP连接?系统是通过一个四元组来识别,(srcip,srcport,dstip,dstport)即源IP、源端口、目标IP、目标端口。比如我们有一台服务192.168.0.1,开启端口80.那么所有的客户端都会连接到这台服务的80端口上面。有一种误解,就是我们常说一台机器有65536个端口,那么承载的连接数就是65536个,这个说法是极其错误的,这就混淆了源端口和访问目...原创 2019-09-07 11:01:13 · 1274 阅读 · 0 评论 -
Linux配置使用SSH Key登录并禁用root密码登录
Linux系统大多数都支持OpenSSH,生成公钥、私钥的最好用ssh-keygen命令,如果用putty自带的PUTTYGEN.EXE生成会不兼容OpenSSH,从而会导致登录时出现server refused our key错误。1、root用户登陆后,运行以下第一句指令,其他根据提示进行输入:ssh-keygen -t rsaGenerating public/private rsa...原创 2019-09-06 19:47:48 · 1133 阅读 · 0 评论 -
Spring JPA事务
[TOC]1. 概述本文将讨论 配置Spring Transactions的正确方法, 如何使用 @Transactional 注解和常见陷阱。有关核心持久性配置的更深入讨论,请查看 Spring JPA教程。通常,有两种不同的方式来配置事务: 注解和AOP,每个都有自己的优势。 我们将在这里讨论更常见的注解配置。促进阅读:为测试配置单独的Spring DataSource有关在...原创 2019-09-05 10:28:45 · 595 阅读 · 0 评论 -
使用SVN钩子强制提交日志和限制提交文件类型
Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能。所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有很多。那么SVN的钩子有哪些呢?下面简单介绍下:服务器钩子:锁定的2种pre-lock钩子在每次有人尝试锁定文件时执行。可以防止完全锁定,或者用来创建控制哪些用户可以锁定哪些路径的复杂策略...原创 2019-09-04 10:07:40 · 1053 阅读 · 0 评论 -
log4j2配置文件log4j2.xml
一、背景 最近由于项目的需要,我们把log4j 1.x的版本全部迁移成log4j 2.x 的版本,那随之而来的slf4j整合log4j的配置(使用Slf4j集成Log4j2构建项目日志系统的完美解决方案)以及log4j2配置文件的详解,就需要我们来好好聊一聊了。本文就专门来讲解下log4j2.xml配置文件的各项标签的意义。二、配置全解 1.关于配置文件的名称以及在项目中的存放位置 ...原创 2019-09-03 09:40:25 · 897 阅读 · 0 评论 -
在spring中使用Hibernate5
[TOC]1. OverviewIn this article, we’ll discuss how to bootstrap Hibernate 5 with Spring, using both Java and XML configuration.2. Spring IntegrationBootstrapping a SessionFactory with the native H...原创 2019-09-02 10:08:59 · 945 阅读 · 0 评论 -
TokuDB · 引擎特性 · HybridDB for MySQL高压缩引擎TokuDB 揭秘
原文出处:阿里云RDS-数据库内核组HybridDB for MySQL(原名petadata)是面向在线事务(OLTP)和在线分析(OLAP)混合场景的关系型数据库。HybridDB采用一份数据存储来进行OLTP和OLAP处理,解决了以往需要把一份数据多次复制来分别进行业务交易和数据分析的问题,极大地降低了数据存储的成本,缩短了数据分析的延迟,使得实时分析决策称为可能。HybridD...原创 2019-08-29 09:49:08 · 1034 阅读 · 0 评论 -
在 Docker 搭建 Maven 私有库
小引If you are developing software without a repository manager you are likely missing a number of opportunities to reduce some pretty obvious inefficiencies. If everyone on your team has to hit publ...原创 2019-09-01 21:02:32 · 1069 阅读 · 0 评论 -
JavaScript生成一个不重复的ID
/** * 生成一个用不重复的ID */function GenNonDuplicateID():String{ }先看看下面的几个方法1.生成[0,1)的随机数的Math.random,例如//我这次运行生成的是:0.5834165740043102Math.random()2.获取当前时间戳Date.now//现在时间戳是1482645606622Da...原创 2019-09-16 11:38:35 · 1626 阅读 · 0 评论 -
使用ECMAScript 6 模块封装代码
JavaScript 用“共享一切”的方法加载代码,这是该语言中最容易出错且最容易让人感到困惑的地方。其他语言使用诸如包这样的概念来定义代码作用域,但在 ECMAScript 6 以前,在应用程序的每一个 JavaScript 中定义的一切都共享一个全局作用域。随着 Web 应用程序变得更加复杂,JavaScript 代码的使用量也开始增长,这样会引起问题,如命名冲突和安全问题。ECMAScri...原创 2019-09-17 10:27:20 · 491 阅读 · 0 评论 -
百度地图WEB端判断用户是否在网格范围内
在pc端设置商家的配送范围,用户在下单时,根据用户设置的配送地点判断是否在可配送范围内,并给用户相应的提示。下面说下我的实现思路:1.用百度地图在PC端设置配送范围,可拖拽选择2.根据用户设置的配送地址判断是否在配送范围内一、百度地图PC端获取范围改动百度地图官网的demo,设置配送范围。思路:获取多边形的顶点,以json的形式保存到数据库。百度API关于多边形覆盖物:构造函数:...原创 2019-09-18 09:54:47 · 1212 阅读 · 0 评论 -
sonarqube安装
sonarqube安装原创 2019-07-25 10:24:17 · 866 阅读 · 0 评论 -
Lombok介绍、使用方法和总结
文章来源公众号:猿人谷1 Lombok背景介绍官方介绍如下:Project Lombok makes java a spicier language by adding 'handlers' that know how to build and compile simple, boilerplate-free, not-quite-java code.大致意思是Lombok通过增...原创 2019-09-30 10:37:30 · 825 阅读 · 0 评论 -
[sonarqube的使用] sonarlint在idea&eclipse中安装与使用
介绍 代码质量管理的开源平台,用于管理源代码的质量 通过插件形式,可以支持包括java,C#,C/C ,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测。集成了CheckStyle,PMD,Findbugs等工具校验规则,具有重复代码发现,代码测试覆盖率,代码注释率,及所有的检测率变化追踪的功能特性。特点 ...原创 2019-09-27 10:43:32 · 1154 阅读 · 0 评论 -
[sonarqube的使用] sonarqube安装
一 . SonarQube代码质量检查工具简介Sonar (SonarQube)是一个开源平台,用于管理源代码的质量Sonar 不只是一个质量数据报告工具,更是代码质量管理平台支持Java, C#, C/C , PL/SQL, Cobol, JavaScrip, Groovy 等等二十几种编程语言的代码质量管理与检测。Sonar可以从以下七个维度检测代码质量,而作为开发人员至少...原创 2019-09-26 11:16:52 · 916 阅读 · 0 评论 -
【JVM从小白学成大佬】4.Java虚拟机何谓垃圾及垃圾回收算法
原文来自公众号:猿人谷在Java中内存是由虚拟机自动管理的,虚拟机在内存中划出一片区域,作为满足程序内存分配请求的空间。内存的创建仍然是由程序猿来显示指定的,但是对象的释放却对程序猿是透明的。就是解放了程序猿手动回收内存的工作,交给垃圾回收器来自动回收。在虚拟机中,释放哪些不再被使用的对象所占空间的过程称为垃圾收集(Garbage Collection,GC)。负责垃圾收集的程序模块,...原创 2019-09-25 22:31:07 · 846 阅读 · 0 评论 -
教程|教你如何给你的头像添加一个好看的国旗
今天朋友圈又火了,听说原因是 @腾讯官网 就能得到一顶绿色的帽子,啊呸,是一个好看的国庆节头像,可是听说没一会就502了,那么我们自己动手实现一个吧由于代码比较简单就不一一介绍了。var cvs = document.getElementById("cvs");var ctx = cvs.getContext("2d");var exportImage = document.getElem...原创 2019-09-24 17:33:35 · 3192 阅读 · 0 评论 -
高可用的一些思考和理解
本文来源公众号:匠心零度在目前的互联网大时代,在高并发等冲击下,还必须保证服务高可用,如果服务不高可用那么意味着:系统不是7*24小时提供服务,那么用户体验就特别差了,可能用户下次不用了,留不住用户。当系统不可用的时候,对公司的形象是有所影响的,BAT类似这种技术都是象征的。最重要的一点,当系统不可用的时候,直接损失就是金钱!!!基本都是秒算损失的,依稀记得2015年5月28日...原创 2019-09-29 10:56:37 · 853 阅读 · 0 评论 -
【JVM学习】3.深入解析强引用、软引用、弱引用、幻象引用
来源:公众号:猿人谷关于强引用、软引用、弱引用、幻象引用的区别,在很多公司的面试题中经常出现,可能有些小伙伴觉得这个知识点比较冷门,但其实大家在开发中经常用到,如new一个对象的时候就是强引用的应用。在java语言中,除了原始数据类型(boolean、byte、short、char、int、float、double、long)的变量,其他所有都是所谓的引用类型,指向各种不同的对象。理...原创 2019-09-23 10:19:37 · 74 阅读 · 0 评论 -
【JVM学习】2.Java虚拟机运行时数据区
来源: 公众号: 猿人谷这里我们先说句题外话,相信大家在面试中经常被问到介绍Java内存模型,我在面试别人时也会经常问这个问题。但是,往往都会令我比较尴尬,我还话音未落,面试者就会“背诵”一段(Java虚拟机是由堆、方法区、虚拟机栈,吧啦吧啦。。。),估计心里还一脸自豪的想幸好哥提前在网上搜过,早有准备。每每这个时候,我都不忍心打断,因为“背诵”的真的太顺畅了!这也怪不得面试者,首先J...原创 2019-09-22 13:20:13 · 953 阅读 · 0 评论 -
js中将字符串转换成json的三种方式
使用ajax的开发项目过程中,经常需要将json格式的字符串返回到前端,前端解析成js对象(JSON )。ECMA-262(E3) 中没有将JSON概念写到标准中,还好在 ECMA-262(E5) 中JSON的概念被正式引入了,包括全局的JSON对象和Date的toJSON方法。1,eval方式解析,恐怕这是最早的解析方式了。如下:function strToJson(str) {...原创 2019-09-21 10:45:25 · 2026 阅读 · 0 评论