技术英文整理:仅用来应对面试

当程序员应对英文面试的时候,平常吹水的本事就即刻口哑哑了。
下面为各个技术点整理一些简单的英文描述,不至于到时说不出来一句话。

Java

Java is a multiplatform, object-oriented programming language that runs on billions of devices worldwide. It powers applications, smartphone operating systems, enterprise software and many well-known programs. Despite having been invented almost 30 years by James Gosling, currently it is the most popular programming language for app developers.


Spring

Spring is the most popular application development framework,it is open source and has active forum.
It has 2 core ideas : IoC and AOP.
IoC container is responsible for managing object lifecycles of specific objects,when creating these objects, calling their initialization methods and configuring these objects by wiring them together.
AOP just an interceptor to intercept some processes, for example, when a method is execute, it can hijack the executing method, and add extra functionality before or after the method execution,such as transaction management, security, remote access and log management and so on.


SpringBoot

SpringBoot is a lightweight framework and its core design is ‘Convention Over Configuration’. It includes over 50 Spring Starters and many more third-party starters are available. SpringBoot makes development more convenient and makes deployment more easy, so that we can focused on our own business logic.


SpringCloud

Spring Cloud is configuration server technology and communicate with many services and collect in one Application. It has 5 core modules: Netflix Eurek,Netflix Ribbon,Netflix Hystrix,Netflix Zuul and Spring Cloud Config.
Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems. (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state).


Kafka

Kafka is a publish-subscribe based messaging system and also open-source, three primary capabilities as below:
It enables applications to publish or subscribe to data or event streams.
It stores records accurately (i.e., in the order in which they occurred) in a fault-tolerant and durable way.
It processes records in real-time (as they occur).
Understanding the Differences Between RabbitMQ vs Kafka:
As per my understanding:
RabbitMQ handle 4-10k msg per sec, kafka handle one million msg per sec, it has higher performance.
RabbitMQ and ActiveMQ use clustering and network of brokers approaches to achieve scalability , while Kafka uses partitioning.
Considering business scenarios, data scale, system architecture and other factors:
If you need to process large amounts of data and require high-performance, high-reliability message transmission, you can choose kafka;
If you need to support multiple message protocols and be easy to deploy and use, you can choose rabbitMQ.
If you need to support distributed transactions, data synchronization just choose rocketMq.


ArrayList

ArrayListis uses an array, which allows for fast random access but slow insertion and deletion. thread unsafety.

LinkedList

LinkedList uses a doubly linked list, which allows for fast insertion and deletion but slow query. thread unsafety.

Vertor

Vestor is thread safety because its method has synchronized keyword, but low efficency


Hashmap

Hashmap maintains no order. Structure: array list +linked list + red black tree.
Allows store at most a null key and many null values. thread unsafety

Linkedhashmap

Linkedhashmap maintains insertion order. Structure: array + doubly linked list.

Treemap

Treemap maintains asceding order,cuz it implements sortedmap.Structure: red black tree.
Doesn’t allow a null key but may contain many null values. thread unsafety.

Hashtable

Hashtable is thread safety because its method has synchronized keyword, Structure: array + linked list.
Not allow null key and null values, otherwise will throw Nullpointer exception.


Reflection

Reflection is a feature in Java, it allows us to inspect and manipulate classes, interfaces, constructors, methods, and fields at run time.There exists three ways to create objects of class:

  1. Using forName () method
  2. Using getclass () method
  3. Using .class extension

Multi thread

Multi thread allows two or more instruction threads to execute independently while sharing the same process resources. to programming Multi thread can improve speed
but requires careful programming in order to avoid conflicts caused by race conditions and deadlocks. To prevent race conditions and deadlocks,
we use locks that prevent multiple threads from modifying the value of the same variable at the same time.


How to keep thread safety:

  1. synchronized keyword - can use on different levels: Code blocks, static methods, Instance methods
  2. Lock - private Lock lock = new ReentrantLock(true) lock.unlock

Four ways to create the threads

  1. extends thread class
  2. implements runnable interface
  3. implements callable interface
  4. ThreadPoolExecutor

Microservices

Microservices will divide a single application into many independent projects according to the business function modules,and each project will complete a part of the business functions, and then develop and deploy independently. These independent projects become a micro-service.


Transaction Isolation Level

@Transactional(isolation = Isolation.READ_COMMITTED)
-Read Uncommitted
-Read Committed
-Repeatable Read
-Serializable


Thread Local

ThreadLocal is used to create thread-local variables that can only be read and written by the same thread,many frameworks use threadlocals to maintain some context related to the current thread. For example when the current transaction is stored in a threadlocal, you don’t need to pass it as the parameter through
evert method call. just store infomation about the current request and session in a threadlocal.so that application has easy access to them.


Full GC

a Full GC will be triggered whenever the heap fills up.in such a case the young generation is collected first followed by the old genration.
use command top -HP to check CPU and thread runing status
if the CPU is very high and check the detals of thread by Jstack log. Jstack [process ID]
Garbage Collection Algorithm: Mark-Sweep /copying / Mark-Compact


To Be Continued

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值