Java
yuantanglin
高级软件工程师
展开
-
Map 集大成者
1.String类型的Json数据转换成Map格式: final static ObjectMapper mapper = new ObjectMapper(); public static Map convertPojoToMap(Object pojo) {Map map = mapper.convertValue(pojo, Map.class);return map;原创 2016-02-12 15:15:15 · 330 阅读 · 0 评论 -
JAVA面试题目(二)--阿里巴巴--2019-08-04
四、网络通信1.http是无状态通信,http的请求方式有哪些,可以自己定义新的请求方式举例 http请求方式:get / post / delete / put 等,具体如下: get请求页面信息,并返回实体主体,参数拼接在url上。 post向指定的资源提交数据处理请求,通常参数包含在请求体中 put客户端向服务端传送的数据指代指定的文档内容 del...原创 2019-08-05 23:51:12 · 300 阅读 · 0 评论 -
JAVA源代码-String
String位于java.lang包下,String整个类是用final修饰的,表明不可再被继承。其内容核心成员变量value也是用stable注解修饰的(只表明value的引用地址是不变的,但是array堆里面的元素是可以变的),如下所示: @Stable private final byte[] value;总结原因有三:实现字符常量池 线程安全 实现hashco...原创 2019-08-01 18:51:22 · 316 阅读 · 0 评论 -
SpringCloud学习-初识微服务
微服务架构的核心概念不是将之一就是每个服务打包和部署为离散独立制品。1.微服务部署环境:物理服务器,开发人员不能快速提高物理服务器的容量,并且在多个物理服务器之间水平伸缩微服务成本非常高 虚拟机镜像,微服务主要特点之一是能够快速启动和关闭微服务实例,虚拟机是主要云供应商的心脏和灵魂。微服务可以打包在虚拟机镜像中,然后开发人员可以在Iaas私有或公有云快速部署和启动服务的多个实例 虚拟容...原创 2019-07-31 23:40:15 · 204 阅读 · 0 评论 -
JAVA源代码-Spring AOP
AOP是面向切面、面向方面、面向接口的一种模切技术。运用情景: 1.事务管理;2.日志管理;3.安全验证AOP底层的实现是通过JAVA的动态代理方式,当然Spring还有静态代理方式,主要是调用业务逻辑。我们需要解释清楚何为动态代理,举例说明,在一个类的某一个方法中前后加如日志记录、权限管理和事务管理等其它业务时,被代理的类不知道其代理类,这样就可专注于业务代理了,有解耦效果。动...原创 2019-07-31 16:46:56 · 133 阅读 · 0 评论 -
JAVA源代码-Spring注解工作原理
首先我们应该知道的是annotation其实是一种interface,它是利用JAVA反射机制提供的API来访问Annotation相关信息,JAVA语言解释器在运行时会忽略这些注释。@Autowired,进行依赖注入。那在AutowiredAnnotationBeanPostProcessor这个类中初始化方法会将autowired注释加入到需要自动扫描的set集合中。AutowiredAn...原创 2019-07-31 15:54:46 · 215 阅读 · 0 评论 -
JAVA面试题目(一)--阿里巴巴--2019-08-04
一、Java基础和高级1.String类为什举是final的。 用处有三:1)常量池共享 2)线程安全 3)hashCode的键值最好选择2.HashMap的源码,实现原理,底层结构。 HashMap底层使用数组+链表+红黑树实现,putVal在链表结点数大于8的时候自旋成红黑树,使得查询速度由O(n)提升为O(log n)3.反射中,Class.forName 和cl...原创 2019-08-05 00:32:12 · 301 阅读 · 0 评论 -
面试-自动化测试工程师--【塔塔信息技术(中国)股份有限公司】
ApplePay自动化测试工程师面试分为三试:塔塔技术官2轮技术电试+ApplyPay技术官电试塔塔Java基础和英语测试ApplyPayJava基础测试JAVA基础类型,各类型所占内存空间。 抽象类和接口的区别 重载和重写的区别,分别应用的场景是什么样的? 开发过程中是怎么测试的,在项目中的测试流程是怎么样的,是否使用过testNG,mockito? JUnit怎么使...原创 2019-08-04 11:43:03 · 789 阅读 · 0 评论 -
JAVA源代码-ArrayList
ArrayList底层是用数据实现的,只不过它是可以自动扩容的,每次扩容大小newCapacity = oldCapacity + (oldCapacity >> 1);>>1等于向右移一位,也就是说newCapacity = oldCapacity + (oldCapacity / 2);其它源码详细说明,下面的链接说的蛮清楚的,可以参考:https://blo...原创 2019-08-02 16:14:23 · 153 阅读 · 0 评论 -
JAVA源代码-java.util.concurrent 包--CopyOnWriteArrayList
CopyOnWriteArrayList实现读写分离,话不多说,上源码:add采用synchronized进行加锁的,get直接根据下标获取数据。/** * The lock protecting all mutators. (We have a mild preference * for builtin monitors over ReentrantLock when eithe...原创 2019-08-02 16:02:14 · 334 阅读 · 0 评论 -
JAVA源代码-Springboot
1. JAR包形式启动时, SpringBoot启动入口为@SpringBootApplication注解的main方法,如下图所示:package com.mima.test.basic.sourcecode.learn.spring;import org.springframework.boot.SpringApplication;import org.springframe...原创 2019-07-30 00:18:35 · 255 阅读 · 0 评论 -
JAVA源代码-java.util.concurrent 包--ConcurrentHashMap
java.util.concurrent包下有众多的线程安全类实现包括:ConcurrentHashMap、ArrayBlockingQueue、ConcurrentLinkedQueue、CopyOnWriteArrayList、ThreadPoolExecutor等等。今天我们来详细介绍ConcurrentHashMap & CopyOnWriteArrayList & Thr...原创 2019-08-02 12:34:03 · 280 阅读 · 0 评论