avatar
文章
383
标签
67
分类
46

主页
时间轴
标签
分类
关于
ClawHub的技术分享
搜索
主页
时间轴
标签
分类
关于

ClawHub的技术分享

Windows设置GOPATH后不生效解决办法
发表于2019-08-11|Golang
文章首发于:clawhub.club 安装完GO之后,打开cmd,输入go env,可以看到当前go环境信息。默认GOPATH为用户目录下,但是工作中想把GOPATH放到非C盘目录。于是,通过右键我的电脑,设置环境变量,但是发现设置之后不生效。 终于在网上找到了解决办法: 1setx GOPATH %USERPROFILE%\go 参考地址:https://github.com/golang/go/wiki/SettingGOPATH#windows
exec gcc executable file not found in %PATH%
发表于2019-08-11|Golang
文章首发于:clawhub.club 通过IDEA运行GO程序的时候,抛出异常: exec gcc executable file not found in %PATH%经过网上搜索,发现原因是windows缺少GCC原码编译工具,最后安装了tdm64-gcc-5.1.0-2之后解决。官网:http://tdm-gcc.tdragon.net/官方下载地址 比较慢。百度云:链接:https://pan.baidu.com/s/1H1ReUtLJIWzLXumV6CEgeA提取码:zgn6
Golang包管理-vendor
发表于2019-08-11|Golang
文章首发于:clawhub.club Vendor目录介绍Golang 官方并没有推荐最佳的包管理方案。到了1.5版本时代,官方引入包管理的设计,加了 vendor 目录来支持本地包管理依赖。官方 wiki 推荐了多种支持这种特性的包管理工具,如:Godep、gv、gvt、glide、govendor等。即使使用vendor,也必须在GOPATH中。 查找依赖包路径的顺序 当前包下的vendor目录。 向上级目录查找,直到找到src下的vendor目录。 在GOPATH下面查找依赖包。 在GOROOT目录下查找 包管理工具govendor需要把 $GOPATH/bin/ 加到 PATH 中。 安装1go get -u github.com/kardianos/govendor 命令12345678910111213141516init 创建 vendor 文件夹和 vendor.json 文件list 列出已经存在的依赖包add 从 $GOPATH 中添加依赖包,会加到 vendor.jsonupdate 从 $GOPATH 升 ...
Windows下安装Go1.12和IDEA配置GO开发插件
发表于2019-08-11|Golang
文章首发于:clawhub.club 1、下载GO:go1.12.windows-amd64.msi 2、双击安装,一路下一步,直到安装成功。 3、查看Go版本及Go的环境信息,已验证是否安装成功1go version 1go env 4、查找IDEA的Go插件,下载安装 5、查看及配置GOPATH
资源池-FastDFS连接池的JAVA实现
发表于2019-08-09|资源池
文章首发于:clawhub.club 简介分布式文件系统FastDFS非常适合中小型项目,比如说作为图片服务器。happyfish100大神的github:fastdfs,fastdfs-client-java。 简单的对客户端进行了连接池的封装,方便使用。 系统启动,池子管理连接 心跳确认连接是否可靠 构造器模式创建连接池 回调方式使用客户端 核心代码初始化连接池1234567891011121314151617181920212223242526272829/** * Build fast dfs conn pool. * * @return the fast dfs conn pool */ public FastDFSConnPool build() { // 初始化空闲连接池 idleConnectionPool = new LinkedBlockingQueue<>(maxPoolSize); //初始化全局参数 try { ...
资源池-数据库连接池简单实现-JAVA版本
发表于2019-08-09|资源池
文章首发于:clawhub.club 分析看了看druid和dbcp2的原码,发现他们都有各自存储连接的方式。 druid :1private volatile DruidConnectionHolder[] connections; dbcp212private final LinkedBlockingDeque<PooledObject<T>> idleObjects = new LinkedBlockingDeque<PooledObject<T>>(); 以自己的理解写了个简单的连接池 采用LinkedBlockingQueue管理数据库连接 实现javax.sql.DataSource接口 采用构造者设计模式 通过反射技术获取驱动 兼容MYSQL5与6驱动 支持配置连接池资源消耗殆尽的处理策略 未实现空闲连接数控制 核心源码 初始化连接池 获取连接 释放连接 使用连接池 github源码地址ClawDataSource
资源池-数据库连接池原理
发表于2019-08-09|资源池
文章首发于:clawhub.club 实现原理数据库连接池在初始化时将创建一定数量的数据库连接放到连接池中,这些数据库连接的数量是由最小数据库连接数制约。无论这些数据库连接是否被使用,连接池都将一直保证至少拥有这么多的连接数量。连接池的最大数据库连接数量限定了这个连接池能占有的最大连接数,当应用程序向连接池请求的连接数超过最大连接数量时,这些请求将被加入到等待队列中。连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,而是将连接放回连接池中,以供下一个请求访问使用。而连接的建立、断开都由连接池自身来管理。同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等。也可以通过其自身的管理机制来监视数据库连接的数量、使用情况等。 注意事项 数据库连接池的最小连接数是连接池一直保持的数据库连接,所以如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费。 数据库连接池的 ...
资源池-指标
发表于2019-08-09|资源池
文章首发于:clawhub.club initialSize初始化连接数:连接池启动时创建的初始化连接数量 maxActive最大连接数量:连接池在同一时间能够分配的最大活动连接的数量如果设置为非正数则表示不限制,表示同时最多有maxActive个数据库连接。 whenExhaustedStrategy资源消耗殆尽时,获取连接的处理策略 WHEN_EXHAUSTED_FAIL 到达pool的阀值,失败的处理 WHEN_EXHAUSTED_BLOCK 到达pool的阀值,阻止再次借用对象的处理 WHEN_EXHAUSTED_GROW 到达pool的阀值,生成新的对象提供给外部调用者 maxWaitMillis当池消耗殆尽且消耗的策略是WHEN_EXHAUSTED_BLOCK,可以设置最大等待时间,如果小于0,可能会无限期阻止。 maxIdle最大空闲连接:连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放,如果设置为负数表示不限制,表示即使没有数据库连接时依然可以保持maxIdle空闲的连接,而不被清除,随时处于待命状态。 minIdle最小空闲连接:连接池中容许保 ...
资源池-概念
发表于2019-08-09|资源池
文章首发于:clawhub.club 概念资源池指系统资源可以随时的使用,但是不随时的创建与产生。一般用于解决获取资源成本太高,或者资源总数量很少,但是又需要频繁的使用的问题。比如数据库连接池,线程池,都是因为频繁的创建或销毁连接/线程/对象会极大的浪费系统资源,增加了响应耗时,影响到系统性能。 分类资源池技术已经在编程世界应用的炉火纯青,根据资源的类型,分为连接池,线程池,内存池。 连接池管理网络连接的技术,通常在高并发高吞吐量的情况下,用连接池来管理长连接。技术例子:数据库连接池,FastDFS连接池。 线程池线程是计算机系统非常重要的资源,频繁的创建与销毁是不明智的。技术例子:JAVA线程池技术 内存池对象的创建,消费也非常的浪费资源,就比如射击游戏中的子弹,人物之类的对象,会频繁的发生对象产生与消亡。技术例子:mybatis缓存机制 参考从内存池到连接池 老码农眼中的资源池
springboot内置Tomcat的AccessLog配置与使用Log4j2管理AccessLog
发表于2019-08-09|JavaJAVA基础
文章首发于:clawhub.club 配置AccessLog在Spring boot中使用了内嵌的tomcat,可以通过server.tomcat.accesslog配置tomcat 的access日志 12345678910server.tomcat.accesslog.buffered=true # 缓存日志定期刷新输出(建议设置为true,否则当有请求立即打印日志对服务的响应会有影响)server.tomcat.accesslog.directory=logs # 日志文件路径,可以是相对于tomcat的路径也可是绝对路径 server.tomcat.accesslog.enabled=false # 是否开启访问日志server.tomcat.accesslog.file-date-format=.yyyy-MM-dd # 放在日志文件名中的日期格式 server.tomcat.accesslog.pattern=common # 日志格式,在下面详解 server.tomcat.accesslog.prefix=access_log # 日志文件名前缀server.to ...
1…212223…39
avatar
ClawHub
ClawHub的技术分享,记录学习中的点点滴滴!
文章
383
标签
67
分类
46
Follow Me
公告
奋斗!
最新文章
以精准营销为例梳理短信业务
以精准营销为例梳理短信业务2023-10-16
小程序商品库存及限购优化改造
小程序商品库存及限购优化改造2023-10-16
从恶意刷单到小程序下单流程优化
从恶意刷单到小程序下单流程优化2023-10-16
从红包裂变活动了解活动业务
从红包裂变活动了解活动业务2023-09-27
从服务提醒单了解商机提醒业务
从服务提醒单了解商机提醒业务2023-09-23
标签
Golanghexo分布式微服务业务梳理小程序下单商机提醒活动短信nodeelectronvue测试PostmanJasper打印模板ExcelSQL微信ElasticSearchSQL优化福利资源问题与解决Excel上传OOMMap.computeIfAbsentAsyncTransmittableThreadLocalLists.partition随笔面试一键分发平台JavaJAVA基础java泛型arthasJAVA基础集合框架java并发容器源码分析
归档
  • 十月 20233
  • 九月 20233
  • 十二月 20223
  • 十一月 20223
  • 七月 20222
  • 六月 202210
  • 五月 202211
  • 四月 20222
©2019 - 2023 By ClawHub
好好学习 天天向上
搜索