ericwz_个人页

个人头像照片 ericwz
个人头像照片
0
6
0

个人介绍

6年企业级开发平台研发经验。全栈研发工程师,为dojo社区贡献dojox.app前端开发框架,参与研发IBM MobileFirst移动开发平台,参与构建12306手机订票移动平台。对跨平台移动应用开发、安全有深入研究,对PaaS和SaaS服务有涉猎。

擅长的技术

获得更多能力
通用技术能力:

暂时未有相关通用技术能力~

云产品技术能力:

阿里云技能认证

详细说明
暂无更多信息
正在加载, 请稍后...
暂无更多信息
  • 回答了问题 2019-07-17

    学生一枚,想问问丙辰大师,JAVA学习中的一些问题!

    作为应届毕业生,招聘不看重开发经营,基础知识一定要牢固。当然只看书本知识很难真正的理解这些基础知识,一定的编码实践是需要的。Java方向主要分为应用系统开发和移动开发(Android),牢固掌握基础知识后,挑选自己感兴趣的方向和平台即可。需要掌握(理解原理)的Java基础知识:Java集合类(Array,Set,Map, List等)Java内存管理(内存分区,GC算法,内存调优,避免频繁的GC等)Java多线程(线程并发,线程通信等,java集合类中有线程相关的集合实现)Java IO(File, Socket, NIO, AIO, Netty)Java序列化(和远程通信相关)classloader设计模式(AOP, Proxy, Factory, Singleton, Strategy等)Web开发方向servlet是基础,现代意义上的Web开发一般不会直接使用jsp做显示层。需要做前后端分离,前后端mvc,因此从java后端来说需要掌握:ServeltFilter开发框架如Spring (核心是设计模式)数据库(操作,并发,事务,分库分表,SQL优化等)理解和掌握这些基础知识,面试就不是问题了。
    踩1 评论0
  • 回答了问题 2019-07-17

    java系统,想用分布式服务器和云数据库?能给点意见吗?需要租几台服务器等等

    系统的最大并发访问量有多大?同时在线用户数量有多少?本地硬件配置压测qps有多少?数据库读写qps有多少?整条访问链路用时多少?这几个数据可以在本地环境中进行压测来确定,按照压测数据来估算需要租用几台服务器。
    踩0 评论0
  • 回答了问题 2019-07-17

    如何统计CPU耗电量?

    Android提供了Battery Historian工具用于统计电量信息,H5页面使用WebView启动,检测并统计webview 的pid数据,计算可以获取耗电量。http://developer.android.com/intl/zh-cn/tools/performance/batterystats-battery-historian/charts.html 另外参考文档 https://testerhome.com/topics/3503,从源码来解读具体的耗电量数据和计算。 被转码了, https://testerhome.com/topics/3503
    踩0 评论0
  • 回答了问题 2019-07-17

    Spring中如何管控子线程事务

    能否描述一下业务场景?为什么需要把事务拆分放入多个线程中执行,线程的执行顺序是不能保证的。如果主线程先回滚,可以进行线程通信通知子线程回滚。如果子线程先完成并退出,则无法通知子线程。因此,建议整理下业务场景,尽量不要把事务拆分到多个线程中执行。
    踩0 评论0
  • 回答了问题 2019-07-17

    如果数据量达到千万级别,是一个表好还是多个表好

    如果出现了查询瓶颈(mysql基本上会出现查询瓶颈,oracle会好一些),建议根据查询频次进行拆分。例如:按照时间查询频次高,则拆分成不同时间区间表。按照类型查询频次高,则拆分成不同的类型表。
    踩1 评论0
  • 回答了问题 2019-07-17

    高并发,大数据的java系统,采用应用服务器,数据库服务器,分布式,给点意见?

    高并发,大数据是一个笼统的概念,实际应用场景中药考虑是有多大的并发,读写压力有多大,磁盘IO有多大,根据具体的情况在系统架构上会有很多的不同。通用架构分层做法如下:Requests --> load balancer --> Web Server Cluster --> Middlerware --> DB Cluster根据具体的并发压力,需要有针对性的进行系统扩展。load balancer层:load balancer进行请求转发,根据具体的请求数量,需要考虑使用硬件或软件。通常情况下硬件load balancer性能远高于软件load balancer,软件实现中ngnix性能远高于Apache。当然硬件load balancer价格也会非常昂贵,需要专业维护。如F5, Redware.考虑到页面数据是否可以缓存,需要增加CDN.如淘宝前端页面会直接从CDN读取,12306 80%的访问请求由CDN处理。根据CDN的策略,带宽大小,并发量大小及业务重要程度,需要考虑多机房部署,减轻带宽和load balancer压力。Web Server clusterWeb server可以使用开源的Tomcat, jBoss等,也可以使用商业的WebSphere, WebLogic。区别是开源需要自己创建、维护cluster状态,商业软件会极大的简化cluster创建和维护。稳定,易于维护的Web Server应用服务器是基础,性能则有应用实现决定。应用需要考虑的是线程并发,查询优化,缓存使用,通信代价。应用完成后根据单台应用服务器的实际处理能力,横向和纵向扩展Web Server cluster. 横向扩展:增加Web Server数量(提升能力理论上无上限)纵向扩展:增加硬件机器性能,优化应用性能,提升单台Server性能(提升能力有限,受限于硬件资源)Middlerware当涉及到分布式环境,需要使用中间件来保证集群一致性。Session中间件 :如果业务是无状态,可以直接在load balancer按照轮询或权重策略转发。无需session处理,性能会高很多。如果业务有状态:1)load balancer使用sticky session策略,由同一台server进行后续有状态服务,session无需处理。但如果server失败,转由其他server服务时,需要重新登录。测试需要client有重新登录机制,否则用户体验不好。2)session复制。session复制需要由session中间件进行处理,保证整个集群共享session,会带来额外性能损耗。消息中间件 :分布式系统之间进行数据同步和唤醒,多个业务系统同步,需要使用消息中间件进行时效性保证。远程调用中间件: 远程调用保证分布式系统中高效的数据交换。数据库中间件: 访问数据库层,如果数据库进行了分库分表操作,需要再数据库中间件中进行操作封装。缓存中间件: 缓存数据库数据和业务计算数据。DB Cluster关系数据库为保证数据库稳定性,会考虑创建主备数据库,多个主备数据构成数据库cluster,当主库出现失败时,自动进行主备切换。有多个数据库的时候,根据读写频率进行读写分离。数据量大的时候,进行分表操作。
    踩0 评论0
正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息