briarbear | 熊大

/- 记录技术成长点滴 -/


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

Hello World

发表于 2019-08-25

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Java并发-线程池的原理及使用

发表于 2018-09-03 | 分类于 Java

【转载】- 本文摘自《Java并发编程的艺术-方腾飞》

  Java中的线程池是运用场景最多的并发框架,几乎所有的异步或并发执行任务的程序都可以使用线程池。在开发中,合理地使用线程池能够带来3个好处

  • 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。
  • 提高响应速度。当任务到达时,任务可以不需要等到线程创建就能立即执行。
  • 提高线程的可管理性。线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳定性,使用线程池可以进行统一分配、调优和监控。但是,要做到合理利用线程池,必须对其实现原理了如指掌。
阅读全文 »

计算机网络-OSI七层网络结构

发表于 2018-08-15 | 分类于 面试 , 计算机网络

计算网网络OSI七层结构高清大图

阅读全文 »

SpringBoot核心原理-手写实现spring-boot-starter与自动配置

发表于 2018-07-24 | 分类于 Spring

主要内容摘自《Java EE的颠覆者 SpringBoot实战-汪云飞》,以下为学习笔记与实现代码,仅供交流学习

1. SpringBoot实现原理

  Springboot只所以能实现快速开发,其中最重要的特征就是spring-boot-starter与自动配置,前者将常用的依赖分组进行整合,将其合并到一个依赖中;后者则是利用了Spring4.x+对条件化配置的支持,合理地推测应用所需的bean并自动配置他们,这些则符合springboot的设计理念-习惯优于配置,从而大大减少繁多的配置,提高开发效率

阅读全文 »

面试-计算机网络常见问题

发表于 2018-07-17 | 分类于 面试 , 计算机网络

【转载】-Java面试中常见的计算机网络方面问题-(部分增加修改)

1. GET 和 POST 的区别

GET方法(GET)请注意,查询字符串(名称/值对)是在 GET 请求的 URL 中发送的:/test/demo_form.asp?name1=value1&name2=value2

  • GET 请求可被缓存
    • GET 请求保留在浏览器历史记录中
    • GET 请求可被收藏为书签
    • GET 请求不应在处理敏感数据时使用
    • GET 请求有长度限制
    • GET 请求只应当用于取回数据
阅读全文 »

Java并发-控制并发线程数的Semaphore

发表于 2018-07-17 | 分类于 Java

【转载】-本文摘自《Java并发编程的艺术-方腾飞》(少许更正修改)

  Semaphore(信号量)用来龙之同时访问特定资源的线程数量,它通过协调各个线程,以保证合理使用公共资源

   多年以来,我都觉得从字面上很难理解Semaphore所表达的含义,只能把它比作是控制流量的红绿灯。比如××马路要限制流量,只允许同时有一百辆车在这条路上行使,其他的都必须在路口等待,所以前一百辆车会看到绿灯,可以开进这条马路,后面的车会看到红灯,不能驶入××马路,但是如果前一百辆中有5辆车已经离开了××马路,那么后面就允许有5辆车驶入马路,这个例子里说的车就是线程,驶人马路就表示线程在执行,离开马路就表示线程执行完成,看见红灯就表示线程被阻塞,不能执行。

阅读全文 »

Java并发-等待多线程完成的CountDownLatch

发表于 2018-07-16 | 分类于 Java

【转载】-本文摘自《Java并发编程的艺术-方腾飞》

CountDownLatch允许一个或多个线程等待其他线程完成操作。
假如有这样一个需求:我们需要解析一个Excel里多个sheet的数据,此时可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。在这个需求中,要实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用join()方法,如下所示。

阅读全文 »

Java并发-同步屏障CyclicBarrier

发表于 2018-07-16 | 分类于 Java

【转载】- 本文内容摘自《Java并发编程的艺术-方腾飞》

CyclicBarrier的字面意思是可循环使用(Cyclic)的屏障(Barrier)。它要做的事情是,让一组线程到达一个屏障(也可以叫同步点)时被阻塞,直到最后一个线程到达屏障时,屏障才会开门,所有被屏障拦截的线程才会继续运行。

阅读全文 »

架构系列-负载均衡详解

发表于 2018-07-10 | 分类于 架构

【转载】大型网站架构系列-负载均衡详解

    面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题

    从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应用拆分后,部署到不同的机器上,实现大规模分布式系统。分布式和业务拆分解决了,从集中到分布的问题,但是每个部署的独立业务还存在单点的问题和访问统一入口问题,为解决单点故障,我们可以采取冗余的方式。将相同的应用部署到多台机器上。解决访问统一入口问题,我们可以在集群前面增加负载均衡设备,实现流量分发

负载均衡(Load Balance),意思是将负载(工作任务,访问请求)进行平衡、分摊到多个操作单元(服务器,组件)上进行执行。是解决高性能,单点故障(高可用),扩展性(水平伸缩)的终极解决方案

阅读全文 »

Java-深入理解Java类型(Class对象)与反射机制

发表于 2018-07-09 | 分类于 Java

【转载】深入理解Java类型信息(Class对象)与反射机制-原文连接

阅读全文 »
12…4
Briar·bear

Briar·bear

Java程序员成长之路

34 日志
7 分类
24 标签
GitHub
© 2019 Briar·bear
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4