1
JSON Processor fastjson
Fastjson is a very good Performance Java language implementation of JSON parser and generator, from Alibaba engineers development.
Main features:
-
FAST FAST (faster than any other Java-based parser and generator, including Jackson)
-
Powerful (support for normal JDK classes including any Java Bean Class, Collection, Map, Date, or enum)
-
Zero dependencies (no dependencies on any other library except JDK)
Sample code:
import com.alibaba.fastjson.JSON; Group group = new Group(); group.setId(0L); group.setName("admin"); User guestUser = new User(); guestUser.setId(2L); guestUser.setName("guest"); User rootUser = new User(); rootUser.setId(3L); rootUser.setName("root"); group.getUsers().add(guestUser); group.getUsers().add(rootUser); String jsonString = JSON.toJSONString(group); System.out.println(jsonString);
Copy the code
2
JVM-Sandbox
Jvm-sandbox, JVM Sandbox container, a jVM-based non-invasive runtime AOP solution.
Key features of JVM-Sandbox:
Real-time non-intrusive AOP framework
In the common AOP framework implementation scheme, there are two kinds of static weaving and dynamic weaving.
-
Static weaving Static weaving occurs when AOP bytecode generation is implemented by inserting AOP bytecode into target classes and methods in advance according to the rules of a certain framework.
-
Dynamic weaving Dynamic weaving allows AOP bytecode enhancement of the specified method to be done while the JVM is running. Most of the common dynamic weaving schemes use rename the original method, and create a new method with the same signature to do the work mode of proxy to complete the functions of AOP (common implementation scheme such as CgLib), but this approach has some application boundaries:
-
Intrusive Intrusive modification of the proxied target class is required. For example, in Spring it must be a Bean hosted in the Spring container
-
Hardened target proxy methods are hardened once started and cannot be re-aop enhanced to an existing method
3
Dubbo, a distributed RPC service framework
Dubbo is an open source high-performance service framework of Alibaba, which enables applications to realize the output and input functions of services through high-performance RPC, and can be seamlessly integrated with the Spring framework.
Main core components:
-
Remoting: A network communication framework that implements sync-over-async and Request-Response message mechanisms
-
RPC: A remote procedure call abstraction that supports load balancing, disaster recovery, and clustering
-
Registry: The service catalog framework is used for registering services and publishing and subscribing to service events
Working principle:
4
Node. Js framework Egg. Js
Egg.js, developed for enterprise-level frameworks and applications, is ali’s open source enterprise-level Node.js framework.
features
-
Deep frame customization
-
Highly extensible plug-in mechanism
-
Built-in multi-process management
-
Based on KOA development, excellent performance
-
The framework is stable and the test coverage is high
Begin to use
npm install egg-init -g$egg-init --type simple showcase && cd showcase$npm install$npm run dev$open http://localhost:7001
Copy the code
5
Ant Design Pro
Ant Design Pro is a mid-platform front-end/Design solution right out of the box.
features
-
Elegant and beautiful: Carefully designed based on Ant Design system
-
Common design patterns: Typical pages and scenarios extracted from background applications
-
Latest technology stack: Use React/ DVA/ANTD and other cutting-edge technology development
-
Responsive: Designed for different screen sizes
-
Theme: configurable theme to meet diversified brand demands
-
Internationalization: Internationalization solution common to the built – in industry
-
Best practices: Good engineering practices help you consistently produce high-quality code
-
Mock Data: A practical local data debugging scheme
-
UI testing: Automated testing ensures front-end product quality
6
JDBC connection pool, monitoring component Druid
Druid is a JDBC component that has three parts:
-
DruidDriver Agent Driver that provides filter-chain-based plug-in architecture.
-
DruidDataSource efficiently manages the database connection pool.
-
SQLParser
What can Druid do?
Druid provides a powerful StatFilter plugin to monitor the performance of database access. StatFilter allows you to monitor the performance of database access online.
2) Replace DBCP and C3P0. Druid provides an efficient, powerful, and scalable database connection pool.
3) Database password encryption. Writing the database password directly into the configuration file is a bad behavior and may cause security problems. DruidDruiver and DruidDataSource both support PasswordCallback.
Druid provides a variety of logfilters that support common-logging, Log4j, and JdkLog. You can select the appropriate LogFilter to monitor your application’s database access.
If you have programming requirements for the JDBC layer, you can easily write extensions to the JDBC layer using the Filter-chain mechanism provided by Druid.
Druid’s StatFilter extension is used to implement StatFilter monitoring.
7
NG-ZORRO
Ng-zorro is an enterprise-level UI component library, an Angular 4.0 implementation of Ant Design, developed and served by enterprise-level backend products.
features
-
The interaction language and visual style are refined from enterprise-level backend products and updated regularly with the Ant Design React version.
-
High-quality Angular components out of the box.
-
Built in TypeScript, provides complete type definition files.
Supporting environment
-
Modern browsers and IE9 above (polyfills required).
Compatible versions
Angular 4.0.0 is currently supported
8
Container Technology Pouch
At the 2017 Hangzhou Computing Conference, Alibaba officially announced that Pouch will be an open-source version of its self-developed container technology to give back to the community. Alibaba hopes to work with developers to promote the development of Chinese container technology and build a container ecology.
The Alpouch is not a completely innovative technology. First, ali technology based on the LXC container service for the group’s business, in 2011, ali T4 since research vessel technology, in 2016, ali technology renamed the container internal Pouch, and last year support group within a large number of core business, such as electric business platform core business, the main application and payment of the part of the database, the ant gold service, Taobao transaction business and so on.
Pouch was named after The original intention of Ali, as an open enabler, to focus on the application of user scenarios. As Alibaba technical expert Sun Hongliang said, Pouch as a self-developed technology based on large-scale scenarios within Alibaba Group, compared with Docker, RKT and other container technologies, Pouch has the core value of differentiation reflected in the following aspects:
-
Rich container technology: The application experience inside the container is like a virtual machine, with init process and rich system services;
-
Rich isolation guarantee: Isolation security is unavoidable. Kernel hardening and lightweight VIRTUAL machine support enrich isolation dimensions.
-
P2P image distribution: Distributes images in large-scale scenarios to ease network load in P2P mode.
-
Kernel compatibility: Enterprise kernels tend to be upgraded slowly to best fit existing underlying infrastructures.
9
Open source database AliSQL
AliSQL is a branch based on the official version of MySQL and maintained by ali Cloud database team. It is also applied to Alibaba Group business and Ali Cloud database service. This version has made a lot of performance and function optimization improvements on the basis of the community version. Especially suitable for e-commerce, cloud computing and financial industry environment.
Dinqi, a senior expert of Ali Cloud database, introduced that AliSQL version has experienced a great test in both strength and breadth. The latest AliSQL version not only draws the essence from other open source branches such as Percona, MariaDB, WebScaleSQL and other communities, but also precipifies Alibaba’s years of experience and solutions in the MySQL field. AliSQL adds more monitoring indicators and provides personalized solutions for scenarios such as e-commerce seckilling, Internet of Things big data compression and financial data security.
“In a common benchmark scenario, AliSQL has a 70% performance improvement over the official MySQL version. In the second kill scenario, performance is improved by a factor of 100.” Dinch said.
Li Jin, senior director of Ali Cloud, said, “The development of AliSQL is supported by a lot of wisdom. We hope to return the accumulated technology of the past few years to the community and help more individuals and enterprises to use MySQL, which is the path of healthy development of the community. We also welcome more developers and technical teams to join the AliSQL open source project to give it greater value in the industry.”
Oracle database performance comparison:
10
Graphic syntax antV-G2 for visual coding
G2 is a set of graphics syntax based on visual coding, which is data-driven and highly easy to use and expandable. Users do not need to pay attention to all kinds of tedious implementation details, and can build a variety of interactive statistical charts with one statement.
G2 is also The most important component of AntV, starting with The visual coding syntax system described in The Grammar of Graphics (hence The name of The G2 project).
features
-
Simple and easy to use: Starting with data, you can easily get the graphical presentation you want in just a few lines of code
-
Complete visual coding: Data-driven, providing complete mapping from data to graphics
-
Powerful expansion ability: Any chart can be drawn flexibly based on graph syntax, satisfying your unlimited creativity
The sample
A histogram
Complete code:
<! DOCTYPE HTML >< HTML >< head> <meta charset=" UTF-8 "> <title> - the introduction of G2 file -- > < script SRC = "https://gw.alipayobjects.com/as/g/datavis/assets/1.0.5/g2/3.0.0/g2.min.js" > < / script > </head> <body> <! <div id="c1"> </div> <script> const data = [{genre: 'Sports', sold: 275}, {genre: 'Strategy', sold: 115 }, { genre: 'Action', sold: 120 }, { genre: 'Shooter', sold: 350 }, { genre: 'Other', sold: 150 } ]; // G2 only requires JSON arrays, each element of which is a standard JSON object. Chart({container: 'c1', // specify the ID of the Chart container. Width: 600, // specify the width of the Chart. 300 // Specify chart height}); //Step 2: Load the data source chart.source(data); / / Step 3: Create the graph syntax, draw the bar chart, and use the genre and sold properties to determine the position of the graph, the genre maps to the X-axis, Chart. Interval ().position('genre*sold').color('genre') //Step 4: Render chart. Render (); </script> </body></html>
Copy the code
END
Recommend to follow the author of this article public account: Java Architect road, this public number to share Java architect related technical articles, and to prepare 1.5G+ architect videos, books and other resources, click the menu after attention can be received.