Java那些事

传递和汇聚阿里等顶尖企业专家的Java基础、Java进阶技术干货与程序人生成长心得...

阿里干货课堂丨Redis连接池的相关问题分析与总结

问题表象:服务端连接未释放 问题背景:商品系统在运行过程中发生过一次Redis服务端连接数超限的问题。截图未保存,表现是:商品服务停掉,但RedisServer端看到的TCP连接任然存在,而且是 ESTABLISHED状态,导致的直接结果就是每次商品重启都会创建400个(minIdle=4...

2018-07-24 11:06:26

阅读数:213

评论数:0

阿里干货课堂丨Websocket 探究

WebSocket: 基于 HTML5 的一种浏览器与服务器之间的即时通讯解决方案(基于 TCP 连接的双向通道);Java容器支持:目前只支持 jetty 和 tomcat。应用场景:即时通讯(网页游戏[双向异步消息模式],网页聊天,微博等)一、概念区分:HTTP 协议 与 TCP 协议区别:H...

2018-07-16 15:03:06

阅读数:108

评论数:0

Java基础 之 序列化与反序列化

为什么需要对象序列化解决Java对象在网络上传输和Java对象持久化的问题。序列化将对象转换为二进制流,然后在网络上传输,当抵打目的后在反序列化为Java对象。什么是Java对象序列化Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即...

2018-07-16 15:01:07

阅读数:82

评论数:0

Java基础 之 集合

Java 中的广义集合分两大类:Collection 和 Map。Set : 成员不能重复HashSet: 外部无序地遍历成员;覆盖了equals方法,注意修改hashCode方法。 TreeSet:外部有序地遍历成员;成员要求实现caparable接口,或者使用 Comparator构造Tree...

2018-07-16 14:59:05

阅读数:93

评论数:0

阿里干货课程 丨怎么编写用户注册/登录服务

看似简单的注册登录功能,如果想考虑完善,并且做到极致体验和良好的安全性,并不是一件容易的事情。本篇文章就结合我们公司的登录体系来分析一下怎么去做好一个用户注册与登录功能。密码设置与传输用户在注册的时候最好对密码的强度做验证,防止弱密码。其次切记不能将密码明文传输,一般的做法是前对对密码做一次Md5...

2018-07-16 14:50:39

阅读数:93

评论数:0

Lock wait timeout exceeded; try restarting transaction

排查过程:查看数据库 INNODB_LOCKS,未发现有死锁的记录。 查看 SHOW PROCESSLIST; 也未见异常进程; 通过Mysql的控制台,查询慢日志,也未找到有关此表的Mysql慢日志信息。 查询Mysql默认的所等待超时时间: show variables like ‘innod...

2018-07-11 17:02:09

阅读数:60

评论数:0

Angularjs的$apply及其优化使用

今天,我们要聊得是Angularjs中的小明星$apply。当我们数据更新了,但是view层却没反应时,总能听到有人说,用apply吧,然后,懵懂无知的我们,在赋值代码后面加了$scope.$apply(),然后就惊喜的发现。噢,真的更新了。然而,有些时候,编译器会无情的给你返回Error: $d...

2018-07-11 16:58:42

阅读数:98

评论数:0

HTTP学习笔记(一)之初探

1http概念HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于...

2018-07-03 10:48:41

阅读数:45

评论数:0

数据库外键基础知识和操作(世界杯版)

在数据库的操作中,外建是很常见的操作。近期花了一些时间学习外键,整理学习笔记。外键说明以一个例子来说明外键。正值俄罗斯世界杯期间,32支国家队比赛精彩异常,其中巨星球星毫无疑问:C罗、梅西、内马尔。这里有两张表:表A,其中姓名是主键。主键:为了保证数据的完整性和唯一性,每一个表能够唯一代表该表的字...

2018-07-02 10:01:33

阅读数:73

评论数:0

Java 数据库连接(dataSource)的演进

原生方法加载JDBC 驱动:Class.forName(driver);// mysql 数据库:“com.mysql.jdbc.Driver”建立数据库连接:Connection conn=DriverManager.getConnection(url,userName,password);创建...

2018-06-29 13:46:09

阅读数:630

评论数:0

Java基础 之 类的加载与对象初始化

类的加载基本原理:所有类都由类装载器载入,载入内存中的类对应一个 java.lang.Class 实例。 已被加载的类由该类的类加载器实例与该类的全路径名的组合标识。设有 packagename.A Class ,分别被类加载器 CL1 和 CL2 加载,则系统中有两个不同的 java.lang....

2018-06-28 10:33:26

阅读数:117

评论数:0

Java基础 之 枚举类型

枚举类型的常见使用场景:枚举类型 作为 错误码集合:定义的枚举 属性都是 枚举类型,这个枚举类型每一个错误会对应一个错误信息;使用 枚举类型enum 构建一个状态机:利用enum可以为枚举实例添加方法的特性,可以构造状态机。packageenumeration;publicclassPerson{...

2018-06-27 15:47:34

阅读数:52

评论数:0

Java基础 之 super 和 this

super的定义:The super keyword enables a subclass to call the methods and fields of its superclass. It is not an instance of the superclass object but a ...

2018-06-27 15:40:31

阅读数:41

评论数:0

3分钟课堂丨Java基础 之 final 和 static

finalfinal的变量当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。其初始化可以在两个地方:一是其定义处,也就是说在final变量定义时直接给其赋值。二是在构造函数中...

2018-06-25 13:49:28

阅读数:61

评论数:0

阿里干货课堂丨Android 之 Listview

LisView显示的三要素1:  ListView,用来展示列表   2:Adapter,用来存在数据&将数据与视图进行绑定3:数据,将被映射的字符串、图片url等等。关于Adapter ,请参考 Android 之 Adapter。ListView的工作原理Adapter...

2018-06-25 13:35:50

阅读数:39

评论数:0

阿里干货课堂丨Android 高效的 Layout

我们知道随着我们业务越来越负责,UI布局也会越来越复杂,大量的布局信息必定会带来一定的性能损耗,那么我们怎么才能写出高效的布局呢?1.使用<include> <merge><viewStu...

2018-06-22 10:28:16

阅读数:162

评论数:0

阿里干货课堂丨Task混用ThreadPool导致无限等待

现象生产环境商品打标异步任务提交任务后,任务没有被执行;查看日志,没有异常日志抛出。初步判断可能是队列出现了饱和或者死锁,但是如果出现了饱和,我们设置的线程池设置的饱和策略是通过主线程去执行,为什么主线程也没有执行呢?具体分析我定义了一个线程池Pool-Z,core_size=5,max_size...

2018-06-22 10:14:10

阅读数:99

评论数:0

经典职场干货丨刚踏入职场的程序员(2年以内初级程序员)如何快速踏实地提升自己的能力

今天我们不讲面试经验,而是讲如何一步一个脚印地提升自己的能力。本文主要是针对Java后端开发。  1不能光有决心,一定得多用时间学习我见过不少程序员一点点从初级升到资深开发,少得用1年半,多的用3年,成功完成升级的都有一个共同点:进步得靠学习,学习得靠时间堆砌。我个人不算聪明,所以我对曾国藩的一句...

2018-06-19 13:49:39

阅读数:350

评论数:0

阿里工作中常见问题答疑丨记一次系统Dubbo调用超时的故障

现象:生产环境用户无法使用下单,订单无法交易。异常日志:分析:发现订单调用商品的API超时了,登陆商品系统并没有发现任何的异常调用,感觉订单的系统调用并没有抵达商品系统,后来陆续发现订单访问其他系统的Dubbo调用都超时了,由此可断定可能是订单系统的问题。首先想到的是数据库的链接数,查看RDS的连...

2018-06-15 10:49:35

阅读数:612

评论数:0

阿里专家答疑分享 | GIT本地仓库与远程仓库

很多初学GIT的同学对GIT的本地仓库和远程仓库无法做到很好的区分,我就画了一张图,来阐明他们之间的关系:Git stash 的使用:我们在多分支操作时,暂存工作区中未提交的代码的功能非常有用。一般我们要求commit的代码都是功能完善的,可测试的,但是很多时候,我们的代码片段还未写完,需要临时切...

2018-06-13 14:00:09

阅读数:54

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭