在JAVA中记录日志的十个小建议】的更多相关文章

JAVA日志管理既是一门科学,又是一门艺术.科学的部分是指了解写日志的工具以及其API,而选择日志的格式,消息的格式,日志记录的内容,哪种消息对应于哪一种日志级别,则完全是基于经验.从过去的实践证明,JAVA的日志记录会严重的影响性能.我也曾多次亲眼见到在DEBUG模式下运行的在线股票交易程序,比在WARN或是其它更高层次模式下运行时延时要严重的多.延时和速度是任何电子交易平台或是股票交易平台的一个重大关注点,所以我们必须了解并掌握JAVA日志及其最佳实践.这不仅仅只是为了用在金融或是投资银行领…
Class定义常量方法(推荐方法) //final修饰符 public final class Constants { //私有构造方法 private Constants() {} public static final int ConstantA = 100; public static final int ConstantB = 100; ...... } 采用“类.常量名”方法进行调用.需要私有化构造方法,避免创建该类的实例.同时不需让其他类继承该类. 如果多处需要访问工具类中定义的常量…
我们在win7下进行android应用开发.须要搭建对应的开发环境.如今普遍基本上都是eclipse+adt+sdk,在本人搭建完环境后,发现eclipse下.java中的凝视和xml中的中文字体变得特别小,无法看的清楚.解决方法例如以下: 1.Java中字体变慷慨法: 打开eclipse.Window-->Preferences,例如以下图打开: 双击第二个红色框,例如以下图: 将字体改成五号就可以. 2.xml中中文字体太小解决方法: 打开eclipse.Window-->Preferen…
笔者csdn博客同文地址:https://blog.csdn.net/weixin_45791445/article/details/106597515 我是小康小白,一个平平无奇的Java小白.热爱有趣的文字,生活和远方. 个人博客:https://blog.csdn.net/weixin_45791445 小白最近快考试了,复习的顺便总结一下一些小白认为容易忘记的知识点,希望能帮助到大家. 小白的总结系列二,三已上线Java中容易遗漏的常用的知识点( 二 )(为了和小白一样马上要考试的兄弟准…
最近项目中需要用到md5加密,就自己在网上看了看. package com.wxgs.ch01; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; public class TestMD { public static void main(String[] args) { String oldpwd=md5Add("12…
最近做项目,由于java语法不是非常的熟悉,编写代码过程中不难遇到一些问题: 代码里写了一条这种语句: Map<String, List<String>> configFileMap = new Map<String, List<String>>(); List<StubObject> configDirList = new List<StubObject>(); 就会报这样的错误:(List那个报错和下面的类似) Cannot in…
很早以前就打算写博客,但是总是因为不知道写什么,或是觉得博客里其他人已经把我要写的整理很好了而迟迟没有动笔,现在决定把自己平时的记录的一些笔记拿出来,希望大神们可以批评指导,并且希望能够帮助一些刚刚入门的程序员们,同时也希望自己在整理温故笔记的同时得到提升. 1.运算符:我们在使用算术运算符时,记得要注意下列事项: 除法"/"当两边为整数时,取整数部分,舍余数.当其中一边为浮点型时,按正常规则相除. "%"为整除取余符号,小数取余没有意义(执行出来显示的余数是小数)…
static能够修饰属性和方法.凡是static修饰的方法和属性都是和类的关系较大,都在加载的时候要特殊处理(包括属性和类的优先加载).下面比较下static修饰属性和方法时的区别: 一.修饰属性的时候. 1.使用static修饰的属性,可以用对象进行访问,也可以用类名直接访问: 2.使用static修饰属性时,该数据是存在数据段的静态区,而且是全类共享一个值: 3.在语义上,该属性是跟类相关,而不是跟对象相关: 4.在使用上,一般是常量或者是全类共享的数据才用static修饰: 二.修饰方法的…
1)根据当前时间,获取具体的时刻的时间 N天前 M小时之前 可用 new Date().getTime() - 24 * 60 * 60 * 1000*N[N天之前]的方法来获取处理时间之后的具体的值,最终转化为想要的时间格式 import java.text.SimpleDateFormat; import java.util.Date; public class getTime { public static void main(String[] args) { SimpleDateForm…
在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日志数据,以io操作方式,写数据到文本文件.或者是写到数据库中. 比如,使用log4j. log4j,这也是此文要记录的.log4j,以前在用.Net做web form时,用log4net.平台通吃.而且,log4j可以将日志,输出到console窗口,输出到文本文件,输出到数据库等,功能还是很强大的…
在项目开发中,记录错误日志是一个很有必要功能.一是方便调试:二是便于发现系统运行过程中的错误:三是存储业务数据,便于后期分析: 在java中,记录日志,有很多种方式. 比如,自己实现. 自己写类,将日志数据,以io操作方式,写数据到文本文件.或者是写到数据库中. 比如,使用log4j. log4j,这也是此文要记录的.log4j,以前在用.Net做web form时,用log4net.平台通吃.而且,log4j可以将日志,输出到console窗口,输出到文本文件,输出到数据库等,功能还是很强大的…
Java学习过程中的总结的小知识点 (主要是自己不会的知识和容易搞错的东西) 计算某个程序运行的时间 long stime=System.currentTimeMillis(); copy3(file, file2);//copy是一个函数 long etime=System.currentTimeMillis(); System.out.println("花费的时间为:"+(etime-stime)+"毫秒"); 构造函数没有返回值 例:暂时不知道怎么解释 Str…
正在自学java中...想记录下java和c++在一些小的方面的不同点.(未完待续...) java中class的对象均是引用类型的,如果想把连个同类型的对象相关联起来,只要将一个赋值给另一个就可以了. java中的随机数产生很简单,Math.random()函数即可产生随机数,要想确定随机数的范围只要在()后面成山一个范围即可. java中double型的数字也可以取整,例如15.2%5=0.2. java中==和!=可以用于任何的数据类型. java中有实例运算符(instanceof),不…
1.基本概念介绍: 首先得简单介绍下UDP. UDP( User Datagram Protocol )协议是用户数据报,在网络中它与TCP协议一样用于处理数据包.在OSI模型中,在第四层——传输层,处于IP协议的上一层.它是一种无连接的协议,每个数据报都是一个独立的信息,包括完整的源或目的地址,它在网络上以任何可能的路径传往目的地,因此能否到达目的地,到达目的地的时间以及内容的正确性都是不能被保证的 但是这种协议却是方便快捷的,因此很多通信工具和游戏仍然采用这种通信方式,虽然有时会出现数据丢帧…
Java非字节类型的基本类型,除了布尔型都是由组合在一起的几个字节组成的.这些数据类 型及其大小总结在表 2-1 中. 表:基本数据类型及其大小 数据类型 大小(以字节表示) Byte 1 Char 2 Short 2 Int 4 Long 8 Float 4 Double 8 每个基本数据类型都是以连续字节序列的形式存储在内存中.例如,32 位的 int 值 0x037fb4c7(十进制的 58,700,999),如果是大端字节顺序则如左图所显示的那样被塞入内存字节中 (内存地址从左往右增加)…
项目在发布之后,有时会进行一些小的地方的修改,特别是对于一些常量的修改,如定义的一些特殊账户,第三方的key值,当修改的时候,我之前就偷懒过,因为项目在服务器上面,访问速度也受到限制,替换整个项目很麻烦,所以就只是替换了个别的类.这样会导致一个很严重的问题就是,修改了之后并没有什么效果,因为对于public final static int....类似于这种常量在编译时,别的类的字节码中已经写上了常量,而不是这个常量的引用,所以只是单纯的替换一个类,编译这一个类是不对的,而要把所有的类全部都编译…
摘录自:http://fafeng.blogbus.com/logs/3062998.html http://www.blogbus.com/fafeng-logs/3063006.html 深入剖析Java编程中的中文问题及建议最优解决方法 说明:本文为作者原创,作者联系地址为:josserchai@yahoo.com.由于Java编程中的中文问题是一个老生常谈的问题,在阅读了许多关于Java中文问题解决方法之后,结合作者的编程实践,我发现过去谈的许多方法都不能清晰地说明问题及解决问题,尤其是…
代码1测试 public static void main(String[] args) { aa(); } static int aa() { try { int a=4/0; } catch (Exception e) { e.printStackTrace(); return 1; }finally{ System.out.println("finally"); // return 2; return写在这里不规范,不是错误,但有感叹号 } return 2; } 输出结果如下:…
java中equals与==经常容易混淆,简单一点说就是equals比较的是值是否相等,是一种方法,==比较的两个对象在JVM中的地址,是一种操作符. 做了几个小实验比较结果. 实验一: String str1="ab": String str2="ab": System.out.println(s1==s2)://trueSystem.out.println(str1.equals(str2));//true 这里的str1与str2都指向了常量池中的同一对象,所…
java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i=-2 因为++运算符遵循的规则:++在前是先计算,后使用:++在后是后计算,先使用: 以i=++i+i++;详解: 先++i,结果是先i加1,再产生i的一份拷贝做为下一步运算的值,假设拷贝为i_copy1,那么++i以后i_copy1的值为1,i值为1.再i++,结果是产生一份i的拷贝做为下一步运…
1.精简代码, 返回最后一句的值,这个方法有一个优点,所有的变量都在代码块中,也就是只在代码块的区域中有效,这意味着可以减少对其他作用域的命名污染.但缺点是可读性比较差 NSURL *url = ({ NSString *urlString = [NSString stringWithFormat:@"%@/%@", baseURLString, endpoint]; [NSURL URLWithString:urlString]; }); 2.关于编译器:关闭警告: #pragma…
前言:在项目中,有时候一些小的功能点,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小功能点,以备用,并持续更新...... 1.禁用DataGridView表头的排序功能 /// <summary> /// 禁止点击列表头进行排序 /// </summary> /// <param name="dgv">当前DataGridView控件</param> private void Disa…
前言:在项目中,有时候一些小的知识,总是容易让人忽略,但是这些功能加在项目中往往十分的有用,因此笔者在这里总结项目中遇到的一些实用的小知识点,以备用,并持续更新...... 1.禁用DataGridView表头的排序功能 /// <summary> /// 禁止点击列表头进行排序 /// </summary> /// <param name="dgv">当前DataGridView控件</param> private void Disab…
题目链接:http://codeforces.com/problemset/problem/892/A 具体的Java 中 sort实现降序排序:https://www.cnblogs.com/youpeng/p/10546797.html Ac代码: import java.util.Comparator; import java.util.Scanner; import static java.util.Arrays.sort; public class Main { public stat…
1.java中能创建volatile数组吗? 能,java中可以创建volatile数组,不过只是一个指向数组的引用,而不是整个数组,如果改变引用指向的数组,将会受到volatile的保护,但是如果多个线程同时改变数组的元素,volatile 标示符就不能起到之前的保护作用了. 2.volatile 修饰符的有过什么实践? 一种实践是用 volatile 修饰 long 和 double 变量,使其能按原子类型来读写.double 和 long 都是64位宽,因此对这两种类型的读是分为两部分的,…
前几天做一个邮件发送功能,一些常用信息配置在properties文件中,通过prop.getProperty(key)来获取配置的信息,结果配置文件中是用中文写的,邮件发送成功后,邮箱中的激活链接是乱码?properties配置文件中的中文转成Unicode后就解决了?虽然解决了问题,但说不出的糊涂,不甚明白编解码的底层.近日看<<锋利的jQuery>>在JS中使用了encodeURI,再次遇到了编码问题,使我下决心搞清楚编解码.本文资料来源于书籍:<<深入分析Java…
public static void main(String[] args) { // TODO Auto-generated method stub SimpleGui1B gui=new SimpleGui1B(); gui.go(); //静态方法不是不能调用非静态方法吗?? } public void go(){ JFrame frame=new JFrame(); button=new JButton("click me"); button.addActionListener…
众所周知,java中为String类提供了split()字符串分割的方法,所以很容易将字符串以指定的符号分割为一个字符串数组.但是在pl/sql中并没有提供像java中的split()方法,所以要想在pl/sql中实现字符串的分割还需要自己动手.由于在项目中需要用到此类方法,所以自己研究了一下,方便以后参考.这里以逗号作为分隔符为例,代码如下: declare v_str ) := 'abd,324,u78,23f,sd09,2345,dsaf,9079'; type str_table_typ…
1.数据类型的相关知识点 1.1.java内置封装类的转换 java中内置的封装类Byte.Integer.Float.Double和Long都可以转换成double类型的数值:因为这些封装好的类中都有doubleValue()的方法,进而调用此方法就可以转换成Double类型的数值啦:[各个类声明的引用对象,都会有相应的xxxValue()方法,转换成自己需要的数据类型] 比如: package fdx.test.ShuJuKind; public class TestOne { public…
package jicheng; public class Animal { //定义一个成员变量name. private String name; public String getName() { return name; } //定义一个参数(局部变量 )name2 public void setName(String name2) { name = name2;//将局部变量的值传递给成员变量 } public static void main(String[] args) { Ani…