津崎平匡个人页面-阿里云开发者社区

个人头像照片 津崎平匡 TA的个人档案
个人头像照片

个人介绍

暂无个人介绍

擅长的技术

获得更多能力
通用技术能力:
  • Java
    高级

    能力说明:

    精通JVM运行机制,包括类生命、内存模型、垃圾回收及JVM常见参数;能够熟练使用Runnable接口创建线程和使用ExecutorService并发执行任务、识别潜在的死锁线程问题;能够使用Synchronized关键字和atomic包控制线程的执行顺序,使用并行Fork/Join框架;能过开发使用原始版本函数式接口的代码。

    获取记录:

云产品技术能力:

暂时未有相关云产品技术能力~

阿里云技能认证

详细说明
  • 高分内容
  • 最新动态
  • 文章
  • 问答
正在加载, 请稍后...
暂无更多信息

2020年06月

  • 06.10 23:25:32
    回答了问题 2020-06-10 23:25:32

    和“乔帮主”一起来学习《阿里云运维架构实践秘籍》——【阿里云MVP读书汇】

    6月10日课程打卡,今日学习《第一讲:云计算带来的技术变革》,通过乔帮主本次的领读,学到了云平台、云产品的选型以及软件技术的选项;

    作业1: B

    作业2: 云平台对比传统的虚拟化容器,有更强大的技术支持,同时尽量满足大多数业务需要,能够一键开启服务器环境,进行管理、操作相关软件应用,便于环境配置、自动化运维。

    作业3: 1. SaaS:Software-as-a-Service(软件即服务)提供给客4102户的服务是运营商运行在云计算基础设施上的应用1653程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等; 2. PaaS:Platform-as-a-Service(平台即服务)提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置; 3. IaaS: Infrastructure-as-a-Service(基础设施即服务)提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。 消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、,防火墙,、负载均衡器等)的控制。

    作业4: 4. 编程语言是Java,架构是DevOps。

    踩0 评论0

2020年05月

  • 05.30 10:00:28
    发表了文章 2020-05-30 10:00:28

    新鲜出炉的阿里云云效平台初步测评

    新鲜出炉的阿里云云效平台初步测评
  • 05.06 16:16:47
    回答了问题 2020-05-06 16:16:47

    Java中运算符 |是做什么的?

    按位操作符OR

    踩0 评论0
  • 05.06 16:16:01
    回答了问题 2020-05-06 16:16:01

    CAP怎么推导?如何取舍?

    在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足

    踩0 评论0
  • 05.06 16:14:09
    回答了问题 2020-05-06 16:14:09

    【每日挑战】下面关于枚举的描述正确的一项是?5.6

    C

    踩0 评论0
  • 05.05 22:52:26
    回答了问题 2020-05-05 22:52:26

    BIO、NIO和AIO的区别、三种IO的用法与原理

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。

    一、BIO

     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。
    

    二、NIO

    NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络应用中,如果要同时处理多个客户端请求,或是在客户端要同时和多个服务器进行通讯,就必须使用多线程来处理。也就是说,将每一个客户端请求分配给一个线程来单独处理。这样做虽然可以达到我们的要求,但同时又会带来另外一个问题。由于每创建一个线程,就要为这个线程分配一定的内存空间(也叫工作存储器),而且操作系统本身也对线程的总数有一定的限制。如果客户端的请求过多,服务端程序可能会因为不堪重负而拒绝客户端的请求,甚至服务器可能会因此而瘫痪。
    
    NIO基于Reactor,当socket有流可读或可写入socket时,操作系统会相应的通知引用程序进行处理,应用再将流读取到缓冲区或写入操作系统。  也就是说,这个时候,已经不是一个连接就要对应一个处理线程了,而是有效的请求,对应一个线程,当连接没有数据时,是没有工作线程来处理的。
    

    BIO与NIO一个比较重要的不同,是我们使用BIO的时候往往会引入多线程,每个连接一个单独的线程;而NIO则是使用单线程或者只使用少量的多线程,每个连接共用一个线程。

      NIO的最重要的地方是当一个连接创建后,不需要对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以搞定,当这个线程中的多路复用器进行轮询的时候,发现连接上有请求的话,才开启一个线程进行处理,也就是一个请求一个线程模式。
    
      在NIO的处理方式中,当一个请求来的话,开启线程进行处理,可能会等待后端应用的资源(JDBC连接等),其实这个线程就被阻塞了,当并发上来的话,还是会有BIO一样的问题。
    

      HTTP/1.1出现后,有了Http长连接,这样除了超时和指明特定关闭的http header外,这个链接是一直打开的状态的,这样在NIO处理中可以进一步的进化,在后端资源中可以实现资源池或者队列,当请求来的话,开启的线程把请求和请求数据传送给后端资源池或者队列里面就返回,并且在全局的地方保持住这个现场(哪个连接的哪个请求等),这样前面的线程还是可以去接受其他的请求,而后端的应用的处理只需要执行队列里面的就可以了,这样请求处理和后端应用是异步的.当后端处理完,到全局地方得到现场,产生响应,这个就实现了异步处理。

    三、AIO

     与NIO不同,当进行读写操作时,只须直接调用API的read或write方法即可。这两种方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。  即可以理解为,read/write方法都是异步的,完成后会主动调用回调函数。  在JDK1.7中,这部分内容被称作NIO.2,主要在java.nio.channels包下增加了下面四个异步通道:
    

    AsynchronousSocketChannel AsynchronousServerSocketChannel AsynchronousFileChannel AsynchronousDatagramChannel 其中的read/write方法,会返回一个带回调函数的对象,当执行完读取/写入操作后,直接调用回调函数。

    BIO是一个连接一个线程。

    NIO是一个请求一个线程。

    AIO是一个有效请求一个线程。

    先来个例子理解一下概念,以银行取款为例:

    同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写); 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API); 阻塞 : ATM排队取款,你只能等待(使用阻塞IO时,Java调用会一直阻塞到读写完成才返回); 非阻塞 : 柜台取款,取个号,然后坐在椅子上做其它事,等号广播会通知你办理,没到号你就不能去,你可以不断问大堂经理排到了没有,大堂经理如果说还没到你就不能去(使用非阻塞IO时,如果不能读写Java调用会马上返回,当IO事件分发器会通知可读写时再继续进行读写,不断循环直到读写完成)

    踩0 评论0

2020年04月

  • 04.29 21:38:49
    回答了问题 2020-04-29 21:38:49

    DUBBO demo 启动一直会自动 shutdown

    将怀疑定位在服务启动自动关闭

    踩0 评论0
  • 04.29 21:19:34
    回答了问题 2020-04-29 21:19:34

    Web服务用啥语言?

    java

    踩0 评论0
  • 04.29 21:17:38
    回答了问题 2020-04-29 21:17:38

    #职场 4期 如何获得资产 ?

    对于程序员来说,资产无非就是加班费~。~

    踩0 评论0
  • 04.28 21:13:51
    回答了问题 2020-04-28 21:13:51

    在tomcat中分别为多个war文件配置Java代理

    对于初次使用tomcat的程序员,可能会犯一个错,如何在一个tomcat中部署多个war,其实很简单,就是在web项目中的web.xml中加如下配置:

    webAppRootKey

    singel

    注: webAppRootKey 可以一样;

    singel 唯一,可以是项目名

    踩0 评论0
  • 04.28 21:00:54
    回答了问题 2020-04-28 21:00:54

    请问表格存储和日志服务包冲突要怎么处理,使用哪个版本的jar

    可以订阅日志服务中的日志库,以秒级的延时将日志数据从日志服务中读出并转换成结构化数据存储在表格存储中,以满足实时在线

    踩0 评论0
  • 04.28 20:50:08
    回答了问题 2020-04-28 20:50:08

    【每日挑战】什么是2NF?4.28

    B

    踩0 评论0
  • 04.27 23:17:30
    回答了问题 2020-04-27 23:17:30

    项目启动成功为何会报java.sql.SQLException: The url cannot be null,数据连接也是可以正常使用的

    在调用自生成增删改查时可以正常访问数据库,调用自己写的方法后就会报SQL错误,The url cannot be null

    踩0 评论0
  • 04.27 23:15:51
    回答了问题 2020-04-27 23:15:51

    什么是BASE?和CAP什么区别?

    CAP: C: 一致性 A:可用性 P:分区容错性

    对于分布式系统而言,分区容错性是必须的,需要把精力花在如何根据业务特点在C和A之间寻求平衡。

    BASE: BA:基本可用 S:软状态,允许系统在不同节点的数据副本之间进行数据同步过程存在延时 E:最终一致性

    踩0 评论0
  • 04.27 23:13:39
    回答了问题 2020-04-27 23:13:39

    【每日挑战】如果要实现多线程编程下面那项描述是错误的?4.27

    D

    踩0 评论0
  • 04.27 23:11:55
    回答了问题 2020-04-27 23:11:55

    【Java问答学堂】5期 如何保证消息的顺序性?

    mysql 里增删改一条数据,对应出来了增删改 3 条 binlog 日志

    踩0 评论0
  • 04.26 23:17:01
    回答了问题 2020-04-26 23:17:01

    Dubbo启动的时候支持几种配置方式?

    根据 DUBBO 官方文档,配置 DUBBO 有 4 种方式,分别是:

    1. XML 配置文件方式

    2. properties 配置文件方式

    3. annotation 配置方式

    4. API 配置方式

    踩0 评论0
  • 04.26 23:13:07
    回答了问题 2020-04-26 23:13:07

    Bean的销毁方式有哪些

    我们发现继承InitializingBean接口实现的afterPropertiesSet方法在属性设置之后执行,继承DisposableBean接口实现destroy方法在对象销毁之后执行。

    踩0 评论0
  • 04.26 23:09:38
    回答了问题 2020-04-26 23:09:38

    什么是异步?

    异步:一种通讯方式,对设备需求简单。我们的PC机提供的标准通信接口都是异步的。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送

    踩0 评论0
  • 04.25 23:32:20
    回答了问题 2020-04-25 23:32:20

    如何模拟道路驾驶情况?JAVA或者其他语言

    java一般都是用来搭后台软件

    踩0 评论0
正在加载, 请稍后...
滑动查看更多
  • 发表了文章 2020-05-30

    新鲜出炉的阿里云云效平台初步测评

正在加载, 请稍后...
滑动查看更多
  • 回答了问题 2020-06-10

    和“乔帮主”一起来学习《阿里云运维架构实践秘籍》——【阿里云MVP读书汇】

    6月10日课程打卡,今日学习《第一讲:云计算带来的技术变革》,通过乔帮主本次的领读,学到了云平台、云产品的选型以及软件技术的选项;

    作业1: B

    作业2: 云平台对比传统的虚拟化容器,有更强大的技术支持,同时尽量满足大多数业务需要,能够一键开启服务器环境,进行管理、操作相关软件应用,便于环境配置、自动化运维。

    作业3: 1. SaaS:Software-as-a-Service(软件即服务)提供给客4102户的服务是运营商运行在云计算基础设施上的应用1653程序,用户可以在各种设备上通过客户端界面访问,如浏览器。消费者不需要管理或控制任何云计算基础设施,包括网络、服务器、操作系统、存储等等; 2. PaaS:Platform-as-a-Service(平台即服务)提供给消费者的服务是把客户采用提供的开发语言和工具(例如Java,python, .Net等)开发的或收购的应用程序部署到供应商的云计算基础设施上去。客户不需要管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储等,但客户能控制部署的应用程序,也可能控制运行应用程序的托管环境配置; 3. IaaS: Infrastructure-as-a-Service(基础设施即服务)提供给消费者的服务是对所有计算基础设施的利用,包括处理CPU、内存、存储、网络和其它基本的计算资源,用户能够部署和运行任意软件,包括操作系统和应用程序。 消费者不管理或控制任何云计算基础设施,但能控制操作系统的选择、存储空间、部署的应用,也有可能获得有限制的网络组件(例如路由器、,防火墙,、负载均衡器等)的控制。

    作业4: 4. 编程语言是Java,架构是DevOps。

    踩0 评论0
  • 回答了问题 2020-05-06

    Java中运算符 |是做什么的?

    按位操作符OR

    踩0 评论0
  • 回答了问题 2020-05-06

    CAP怎么推导?如何取舍?

    在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足

    踩0 评论0
  • 回答了问题 2020-05-06

    【每日挑战】下面关于枚举的描述正确的一项是?5.6

    C

    踩0 评论0
  • 回答了问题 2020-05-06

    BIO、NIO和AIO的区别、三种IO的用法与原理

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。

    一、BIO

     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要对每个请求建立一堆线程等待请求,而客户端发送请求后,先咨询服务端是否有线程相应,如果没有则会一直等待或者遭到拒绝请求,如果有的话,客户端会线程会等待请求结束后才继续执行。
    

    二、NIO

    NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络应用中,如果要同时处理多个客户端请求,或是在客户端要同时和多个服务器进行通讯,就必须使用多线程来处理。也就是说,将每一个客户端请求分配给一个线程来单独处理。这样做虽然可以达到我们的要求,但同时又会带来另外一个问题。由于每创建一个线程,就要为这个线程分配一定的内存空间(也叫工作存储器),而且操作系统本身也对线程的总数有一定的限制。如果客户端的请求过多,服务端程序可能会因为不堪重负而拒绝客户端的请求,甚至服务器可能会因此而瘫痪。
    
    NIO基于Reactor,当socket有流可读或可写入socket时,操作系统会相应的通知引用程序进行处理,应用再将流读取到缓冲区或写入操作系统。  也就是说,这个时候,已经不是一个连接就要对应一个处理线程了,而是有效的请求,对应一个线程,当连接没有数据时,是没有工作线程来处理的。
    

    BIO与NIO一个比较重要的不同,是我们使用BIO的时候往往会引入多线程,每个连接一个单独的线程;而NIO则是使用单线程或者只使用少量的多线程,每个连接共用一个线程。

      NIO的最重要的地方是当一个连接创建后,不需要对应一个线程,这个连接会被注册到多路复用器上面,所以所有的连接只需要一个线程就可以搞定,当这个线程中的多路复用器进行轮询的时候,发现连接上有请求的话,才开启一个线程进行处理,也就是一个请求一个线程模式。
    
      在NIO的处理方式中,当一个请求来的话,开启线程进行处理,可能会等待后端应用的资源(JDBC连接等),其实这个线程就被阻塞了,当并发上来的话,还是会有BIO一样的问题。
    

      HTTP/1.1出现后,有了Http长连接,这样除了超时和指明特定关闭的http header外,这个链接是一直打开的状态的,这样在NIO处理中可以进一步的进化,在后端资源中可以实现资源池或者队列,当请求来的话,开启的线程把请求和请求数据传送给后端资源池或者队列里面就返回,并且在全局的地方保持住这个现场(哪个连接的哪个请求等),这样前面的线程还是可以去接受其他的请求,而后端的应用的处理只需要执行队列里面的就可以了,这样请求处理和后端应用是异步的.当后端处理完,到全局地方得到现场,产生响应,这个就实现了异步处理。

    三、AIO

     与NIO不同,当进行读写操作时,只须直接调用API的read或write方法即可。这两种方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,并通知应用程序;对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。  即可以理解为,read/write方法都是异步的,完成后会主动调用回调函数。  在JDK1.7中,这部分内容被称作NIO.2,主要在java.nio.channels包下增加了下面四个异步通道:
    

    AsynchronousSocketChannel AsynchronousServerSocketChannel AsynchronousFileChannel AsynchronousDatagramChannel 其中的read/write方法,会返回一个带回调函数的对象,当执行完读取/写入操作后,直接调用回调函数。

    BIO是一个连接一个线程。

    NIO是一个请求一个线程。

    AIO是一个有效请求一个线程。

    先来个例子理解一下概念,以银行取款为例:

    同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写); 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS处理,需要将数据缓冲区地址和大小传给OS(银行卡和密码),OS需要支持异步IO操作API); 阻塞 : ATM排队取款,你只能等待(使用阻塞IO时,Java调用会一直阻塞到读写完成才返回); 非阻塞 : 柜台取款,取个号,然后坐在椅子上做其它事,等号广播会通知你办理,没到号你就不能去,你可以不断问大堂经理排到了没有,大堂经理如果说还没到你就不能去(使用非阻塞IO时,如果不能读写Java调用会马上返回,当IO事件分发器会通知可读写时再继续进行读写,不断循环直到读写完成)

    踩0 评论0
  • 回答了问题 2020-04-29

    DUBBO demo 启动一直会自动 shutdown

    将怀疑定位在服务启动自动关闭

    踩0 评论0
  • 回答了问题 2020-04-29

    Web服务用啥语言?

    java

    踩0 评论0
  • 回答了问题 2020-04-29

    #职场 4期 如何获得资产 ?

    对于程序员来说,资产无非就是加班费~。~

    踩0 评论0
  • 回答了问题 2020-04-28

    在tomcat中分别为多个war文件配置Java代理

    对于初次使用tomcat的程序员,可能会犯一个错,如何在一个tomcat中部署多个war,其实很简单,就是在web项目中的web.xml中加如下配置:

    webAppRootKey

    singel

    注: webAppRootKey 可以一样;

    singel 唯一,可以是项目名

    踩0 评论0
  • 回答了问题 2020-04-28

    请问表格存储和日志服务包冲突要怎么处理,使用哪个版本的jar

    可以订阅日志服务中的日志库,以秒级的延时将日志数据从日志服务中读出并转换成结构化数据存储在表格存储中,以满足实时在线

    踩0 评论0
  • 回答了问题 2020-04-28

    【每日挑战】什么是2NF?4.28

    B

    踩0 评论0
  • 回答了问题 2020-04-27

    项目启动成功为何会报java.sql.SQLException: The url cannot be null,数据连接也是可以正常使用的

    在调用自生成增删改查时可以正常访问数据库,调用自己写的方法后就会报SQL错误,The url cannot be null

    踩0 评论0
  • 回答了问题 2020-04-27

    什么是BASE?和CAP什么区别?

    CAP: C: 一致性 A:可用性 P:分区容错性

    对于分布式系统而言,分区容错性是必须的,需要把精力花在如何根据业务特点在C和A之间寻求平衡。

    BASE: BA:基本可用 S:软状态,允许系统在不同节点的数据副本之间进行数据同步过程存在延时 E:最终一致性

    踩0 评论0
  • 回答了问题 2020-04-27

    【每日挑战】如果要实现多线程编程下面那项描述是错误的?4.27

    D

    踩0 评论0
  • 回答了问题 2020-04-27

    【Java问答学堂】5期 如何保证消息的顺序性?

    mysql 里增删改一条数据,对应出来了增删改 3 条 binlog 日志

    踩0 评论0
  • 回答了问题 2020-04-26

    Dubbo启动的时候支持几种配置方式?

    根据 DUBBO 官方文档,配置 DUBBO 有 4 种方式,分别是:

    1. XML 配置文件方式

    2. properties 配置文件方式

    3. annotation 配置方式

    4. API 配置方式

    踩0 评论0
  • 回答了问题 2020-04-26

    Bean的销毁方式有哪些

    我们发现继承InitializingBean接口实现的afterPropertiesSet方法在属性设置之后执行,继承DisposableBean接口实现destroy方法在对象销毁之后执行。

    踩0 评论0
  • 回答了问题 2020-04-26

    什么是异步?

    异步:一种通讯方式,对设备需求简单。我们的PC机提供的标准通信接口都是异步的。异步双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送

    踩0 评论0
  • 回答了问题 2020-04-25

    如何模拟道路驾驶情况?JAVA或者其他语言

    java一般都是用来搭后台软件

    踩0 评论0
  • 回答了问题 2020-04-25

    问一下各位大神,用h5做小程序的时候,前后台不分离可以不?

    基本上都是前后端分离

    踩0 评论0
正在加载, 请稍后...
滑动查看更多