博客主页 所有文章 标签 关于我
img

ninuxGithub

java Development

ninuxGithub

个人站

欢迎来到我的个人站~


  • 博客主页
  • 所有文章
  • 标签
  • 关于我
  1. ByteBuf vs ByteBuffer 简单的对比

    ByteBufferjdk nio 提供了ByteBuffer 来处理io流中的数据,将数据读到或者写入到缓冲区,该类扮演了重要的角色简单的理解: ByteBuffer 的父类Buffer 有三个重要的属性 position , limit , capacity buffer 可以理解为一个有限的容量的格子容器 , 每个格子都装了一个byte position: 当前读到或写到了那个格子 limit: 读/写时候意义不同 capacity:整个容量的大小 ...…

    2019-05-08
    netty
    阅读全文 »

  2. Netty Run

    netty 运行分析分析一:serverBootstrap.group(parentGroup, childGroup)AbstractBootstrap 维护了一个group (parentGroup)ServerBootstrap 维护了一个childGroup NioEventLoopGroup 继承了MultithreadEventExecutorGroup 内部维护了一个EventExecutor[] children 就是ExecutorEventExecutor[] chi...…

    2019-05-07
    netty
    阅读全文 »

  3. centos7 docker使用

    docker 构建将项目:https://gitee.com/ninuxGithub/tomcat-nginx-balance.git克隆到centos安装好环境: 直接采用命令 mvn package docker:build会报错不知道为什么?Cannot retry request with a non-repeatable request entity:xxxxxxxxxx那么分开命令构建吧首先mvn package查看到target地下是有jar生成了到target/docke...…

    2019-05-05
    docker
    阅读全文 »

  4. aop执行的分析

    aop 执行的过程分析aop使用的时候需要定义一个切入点, 然后围绕切入定编写5种通知的类型@Before , @Around , @After, @AfterReturning, @AfterThrowing那么这5中通知是如何运行的呢 ? 测试一把/** 作用在方法上面 */@Target(ElementType.METHOD)/** 保留到运行时 */@Retention(RetentionPolicy.RUNTIME)public @interface TimeCounter {...…

    2019-04-30
    java
    阅读全文 »

  5. mina启动

    目的分析mina客户端服务器启动的时候是如何运行的;服务端启动服务端典型的代表: NioSocketAcceptornew NioSocketAcceptor()对象创建的时候会调用一系列的super构造器public NioSocketAcceptor(int processorCount) { super(new DefaultSocketSessionConfig(), NioProcessor.class, processorCount); ((DefaultSocke...…

    2019-04-29
    mina
    阅读全文 »

  6. spring boot redis sentinel

    redis sentinel 哨兵在项目中使用reids的时候考虑过没有如果我们的redis由于意外的情况下线了,可能导致项目的瘫痪;redis集群的模式 主从复制: master拥有多个slave然后, 从服务器想主服务器发起sync命令, 然后主开始bgsave形成快照并且将上层执行的命令写到 缓冲区, 然后是想从服务器发送快照 ,从载入快照,执行主服务器缓冲区的命令; 哨兵模式: 对主从的优化 对每个节点加入了一个哨兵 监控节点的状态 ; 每个哨兵...…

    2019-04-28
    redis
    阅读全文 »

  7. ReentrantLock

    ReentrantLock分析要了解ReentrantLock必须要首先理解一下AQS(AbstractQueuedSynchronizer)的大概的内部结构aqs 内部维护了一个Node 类型的head,tail ; head: 等待获取锁的首节点 tail: 等待获取锁的尾节点Node是一个内部类;构造函数 Node(Thread thread, Node mode) 创建Node的时候需要一个当前的线程和线程等待的模式等待模式有2种: Share,Exclusive 模...…

    2019-04-25
    java
    阅读全文 »

  8. spring boot redisTemplate execute

    目的分析redisTemplate.executeredisTemplate.executePipelined(RedisCallback<?> action)redisTemplate.executePipelined(SessionCallback<?> session)@RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)public class TestRedisTem...…

    2019-04-12
    redis
    阅读全文 »

  9. spring boot JAP Ehcache

    目的ehcache 的使用在spring boot jap 的repository 中加入缓存, 查询的时候会将我们查询的对象缓存到对应的key中,第二次查询的时候如果sql命中了,那么jap不会发起查询,而是查询ehcach缓存中的数据sql命中: 可以理解为相同的sql条件;Ehcache 的注解:@Cacheable : 将方法的返回值放入到缓存中, 检查缓存中是否存在key , 如果不存在那么将值加入缓存@Cacheput : 将方法的返回值放入到缓存中, 不检查缓存中是否有对应...…

    2019-04-10
    ehcache
    阅读全文 »

  10. spring boot JAP事物分析

    目的分析jap在开启事物后是如何运行的我们的目的方法@RestControllerpublic class TestController { @Autowired UserNewService userNewService; @RequestMapping("/save/user")//--->① public String save() { UserNew userNew = new UserNew(); userNew.setA...…

    2019-04-08
    tx
    阅读全文 »

  11. 项目远程debug

    目的项目有时候在上线的情况下会出现一些和本地运行的不一样的结果,让人很诧异,本篇介绍远程debug准备工作虚拟机,安装好tomcat,构建一个spring boot 项目打好war包,包名称为: tomcatNginxBalance.war修改我们的tomcat 的catalina.sh加入一行命令:CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6666"address=666...…

    2019-04-04
    java
    阅读全文 »

  12. spring boot 双数据源配置 + 使用demo

    spring boot 双数据源配置配置2个数据源 一个mysql ,一个sqlSqlver , 更加业务的不同,去不同的库获取数据;数据配置@Configurationpublic class DBConfig { @Bean(name = "mysqlDataSource") @Qualifier("mysqlDataSource") @Primary //重要 @ConfigurationProperties(prefix = "spring.datasour...…

    2019-04-02
    java
    阅读全文 »

  13. spring boot mybatis 运行分析

    spring boot mybatis 运行过程MyBatisAutoConfiguration -->sqlSessionFactory(dataSource)方法会去创建一个SqlSessoinFactoryBeanSqlSessionFactoryBean -->afterPropertiesSet -->buildSqlSessionFactory --...…

    2019-03-27
    mybatis
    阅读全文 »

  14. jacob word 转html

    jacob word转html步骤其实很简单,word 可用通过jacob直接转为html为了方便, 我们要将图片转为base64而已需要注意的是 linux 系统好像不支持jacob ,所以只有windows 才支持1.在项目中build path 加入jacob.jar2.在jdk的bin目录加入对应系统的dll 文件 , 例如jacob-1.18-x64.dll <dependency> <groupId>com.hynnet</groupId&g...…

    2019-03-26
    jacob
    阅读全文 »

  15. htmlutil爬数据

    目的前端项目通过js调用公共接口获取数据,然后经过一系列的规则进行数据的过滤,形成一个最终的结果需求: 对股票一键选进行历史数据的保存解决方案: 采用htmlutil进行数据的爬取, 模仿鼠标点击页面, 等待js执行接口完毕,渲染到页面后, 获取页面dom元素的值demo 代码package com.example.api.crawler;import com.gargoylesoftware.htmlunit.BrowserVersion;import com.gargoylesoftw...…

    2019-03-21
    htmlutil
    阅读全文 »

  16. 公共aip方法签名

    目的建立一个demo 测试公共aip客户端参数请求的时候加入签名, 后端服务器验证签名;代码寄托在github: https://github.com/ninuxGithub/spring-boot-dubbo-zookeeper.git实现思路1.首先分析 客户端请求的时候携带的参数是否符合目标方法入参(是否参数名称正确, 是否参数列表顺序一致, 是否个数一致)解决方案: 启动项目的时候扫描公共的api接口, 提取出接口的信息包括方法名称, 入参列表等待2.服务器签名的验证服务端通过过滤...…

    2019-03-19
    java
    阅读全文 »

  17. spring boot + dubbo

    目的采用spring boot 整合dubbo, 配置采用yaml, bean 采用java config 废话不多说,直接上代码 重要的地方会有注释项目寄托在github : https://github.com/ninuxGithub/spring-boot-dubbo-zookeeper.git实现的思路和dubbo xml config 差不多 都是采用api提供接口, provider实现接口 , consumer调用接口在provider 里面 需要对api接口的实现,实现的d...…

    2019-03-18
    dubbo
    阅读全文 »

  18. logstash 项目日志的收集

    目的使用logstash 进行项目的日志的收集; logstash 好比是一个io的读写 , 需要一个源 和目的地 当然还需要一个过滤器;思路: 第一步,logstash 使用项目产生的日志就是我们要读取的源 然后采用redis作为我们的目的地 第二步,logstash redis作为源 , 然后 目的地是我们的elasticsearch 的内存 思考一个问题: 为什么不直接采用 项目日志作为源, elasticsearch 内存作为目的地直接将我们的日志生保存到e...…

    2019-03-13
    elasticsearch
    阅读全文 »

  19. Spring boot + Elasticsearch

    目的为了在spring boot 项目中使用elasticsearch进行增删改查,个人感觉elasticsearch 查询是最重要的部分;1.采用ElasticsearchRepository进行对象的插入,查询,修改,删除2.采用QueryBuilders 构建查询dsl(domain specific language);javaBean es CURDjavaBean 通过ElasticsearchRepository 持久化到elasticsearch 内存, 然后支持查询,修改...…

    2019-03-07
    elasticsearch
    阅读全文 »

  20. Transaction 事物笔记

    事物事物遵循ACID原则原子性(atomicity): 事物要么成功提交, 要么全部不提交,是一个整体。一致性(consistency): 事物的执行从一种正确的状态转换为另一种状态隔离性(isolation): 在事物正确提交之前, 不允许将该事物对数据的改变提供给其他的事物;持久性(durability): 事物正确提交后 , 数据将被持久化到数据库数据库的事物read uncommited: 读未提交, 那么可能产生脏读, 读到其他事物没有提交的数据read commited: 度已...…

    2019-02-28
    tx
    阅读全文 »


← 最近 3 / 5 更早 →
  • Github
  • RSS
  • Email

Copyright © ninuxGithub 2025 Theme by ninuxGithub |

本站总访问量 次