Common Java Errors

Source: Internet
Author: User
Tags jboss application server

The problems arising in the production process are getting the attention of middle-level and top management gradually. Whether you're a developer or an architect, the following should give you enough attention to avoid getting into the awkward future. You can also use it as a sticky note to troubleshoot problems.


the data set used in the test is not of the appropriate size. For example, a typical scenario in the production process is to use only 1 to 3 accounts for testing, and this number should be 1000 to 2000. When performing a performance test, the data used must be real and not cropped. Performance testing that is not close to the real world can lead to unpredictable performance, expansion, and multithreading issues. Only by testing the application with a larger data set can it be guaranteed to function properly and meet the SLAs of non-functional attributes (service level standards).


The minimum security requirements are not followed. As mentioned above, network services are ubiquitous, making it easy for hackers to use it for denial-of-service attacks. Therefore, when using a Secure Sockets Layer, you must complete basic validation and use tools such as Google skipfish for penetration testing. Insecure applications not only threaten their own stability, but may also adversely affect the company's reputation due to data integrity issues, such as the presence of customer "A" to browse Customer "B" data.


There is no cross-browser compatibility test. Today's Web applications are rich, single-page applications that use a framework such as the JavaScript programming language and angular JS. In order for your website to run smoothly between different devices and browsers, the corresponding design must be implemented. So to make sure your application works on all devices and browsers, it must be tested for compatibility.


It is naïve to assume that the external and internal services invoked in the application are reliable and always available. Service call timeouts and retries are not allowed and will adversely affect the stability and performance of the application. Appropriate service interruption testing is required. This is important because today's applications are distributed and service-oriented, requiring a large number of network services. Unlimited requests for unavailable services can compromise your application. also need toLoad BalancingTo ensure that it works properly, so that each node can be balanced.


Do not configure properties in the properties file or XML file. For example, the number of threads used for batch processing is not set to be configurable in the properties file. Your batch process runs smoothly, whether in the DEV environment or in the UAT (User acceptance test) environment, but once deployed on PROD, it throws IOException when it is processed as a multithreaded program for larger datasets, possibly because the JDBC driver version is different. It may also be the problem discussed in #. If the number of threads can be configured in a property file, making it a single-threaded application becomes very easy. We no longer need to deploy and test the application repeatedly in order to solve the problem. This approach also applies to configuration URLs, servers, port numbers, and so on.


there is no appropriate disaster recovery plan and system monitoring and archiving strategy. These issues are often omitted from the rush to deploy the project as the project deadline approaches. Failure to establish a proper system monitoring mechanism through Nagios and Splunk not only threatens the stability of the application, but also hinders the current diagnosis and future improvement efforts.


no appropriate drawdown plan has been established. In the event of a system failure, there is no way to restore the system to a stable state prior to deployment. This plan needs to be repeated deliberation and signed by the relevant team to ensure. The plan includes, back to the previous version of the software, removing all the data inserted into the database and all the entries for the properties file.


no capacity plan was developed before the project began. today, when it comes to the requirements of the platform, it is not enough to simply say "a Unix computer, an Oracle database server, and a JBoss application Server" are required. Your request must be accurate to

    • Specific version of the operating system, JVM, and so on.
    • How much memory is available (including physical memory, JVM heap memory, JVM stack memory, and the JVM's permanent generation of space).
    • CPU (number of cores).
    • Load balancer, the number of nodes required, the type of node, such as active/active or active/passive type, and clustering requirements.
    • File system requirements, for example, your application may collect generated reports and save them for one year before they are archived. In this case, you will need to have enough hard disk space. Some applications require data extraction files and temporarily store them for use by other system processes or data warehouse systems for multidimensional Analysis reports. There are also data files that are based on secure file transfer protocols that are either from internal systems or from external systems and need to be kept for 12-36 months before filing.

"Do not use the best tools when working." in many cases, developers will use a language or a tool in the production system that they want to learn. Usually this is not the best choice. For example, use a NoSQL database for data that is already actually relational. Keep in mind that no matter which tool you use, you need to maintain your product for the next 3-5 years (or longer).



There are no easy-to-organize columns for database tables , such as Created_datetm, Update_datetm, created_by, updated_by, and timestamps, nor does it provide an orderly delete record column, such as ' Y ' or ' N ' Deleted ' Column or ' record_status ' column that can take ' Active ' or ' Inactive '.


The following documents are not available

    • Write a unit test document and make it good code coverage.
    • Integration testing.
    • A comprehensive or encyclopedic page lists all the software artifacts, such as classes, scripts, configuration files, and so on, which are either modified or newly created.
    • A high-level concept map describes all of the components, interactions, and structures.
    • The base document tells the developer "How to build a development environment with the details of the data source."

In addition to the COS (satisfying condition) This form created by Mindmap, there are two main forms of documentation in Agile Development , 1 and 2.

lack of sufficient knowledge reserves in 16 key technology areas. these areas include identifying and repairing 1) "Concurrency Issues", 2) transaction issues, and 3) performance issues. In many interviews, I got a new contract on the 3.


Common Java errors collected for your reference

Original address: Java,java error techfox IT Technology Forum

Common Java Errors

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.