Java

java*工程 slf4j+logback实现日志记录

1.目录结构2.java测试码packagecom.test.main;importjava.net.URL;importorg.slf4j.ILoggerFactory;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.context.ApplicationContext;importorg.springframework.context.supp

系统 2019-08-29 23:22:39 2237

Java

Java NIO(二)Channel

JavaNIO的通道类似流,但又有些不同:既可以从通道中读取数据,又可以写数据到通道。但流的读写通常是单向的。通道可以异步地读写。通道中的数据总是要先读到一个Buffer,或者总是要从一个Buffer中写入。正如上面所说,从通道读取数据到缓冲区,从缓冲区写入数据到通道。如下图所示:Channel的实现这些是JavaNIO中最重要的通道的实现:FileChannel从文件中读写数据。DatagramChannel能通过UDP读写网络中的数据。SocketCh

系统 2019-08-29 23:17:48 2237

Java

JAVA内存泄漏——内存泄漏原因和内存泄漏检测工

摘要虽然Java虚拟机(JVM)及其垃圾收集器(garbagecollector,GC)负责管理大多数的内存任务,Java软件程序中还是有可能出现内存泄漏。实际上,这在大型项目中是一个常见的问题。避免内存泄漏的第一步是要弄清楚它是如何发生的。本文介绍了编写Java代码的一些常见的内存泄漏陷阱,以及编写不泄漏代码的一些最佳实践。一旦发生了内存泄漏,要指出造成泄漏的代码是非常困难的。因此本文还介绍了一种新工具,用来诊断泄漏并指出根本原因。该工具的开销非常小,因

系统 2019-08-29 23:05:05 2237

Java

用spring做一个javaMail功能的例子

前言:项目中要做一个发送邮件的功能,在网上搜了一些代码,说的都不是很完善。自己就整理了一个可以运行的项目。需要注意的地方是:如果发送人的邮箱是qq邮箱,那么需要在设置->账户里面把√打上。spring里面的smtp.126.com要配置成smtp.qq.com126邮箱同理。步骤如下:用spring做一个javaMail功能。1、先建一个项目。java项目和web

系统 2019-08-29 22:21:42 2237

Java

Effective Java (对象通用方法)

八、覆盖equals时请遵守通用约定:对于Object类中提供的equals方法在必要的时候是必要重载的,然而如果违背了一些通用的重载准则,将会给程序带来一些潜在的运行时错误。如果自定义的class没有重载该方法,那么该类实例之间的相等性的比较将是基于两个对象是否指向同一地址来判定的。因此对于以下几种情况可以考虑不重载该方法:1.类的每一个实例本质上都是唯一的。不同于值对象,需要根据其内容作出一定的判定,然而该类型的类,其实例的自身便具备了一定的唯一性,如

系统 2019-08-29 22:02:39 2237

Java

java

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE,JavaEE,JavaME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。什么是J

系统 2019-08-12 09:30:34 2237

Java

Java线程:并发协作-死锁

Java线程:并发协作-死锁线程发生死锁可能性很小,即使看似可能发生死锁的代码,在运行时发生死锁的可能性也是小之又小。发生死锁的原因一般是两个对象的锁相互等待造成的。在《Java线程:线程的同步与锁》一文中,简述死锁的概念与简单例子,但是所给的例子是不完整的,这里给出一个完整的例子。/***Java线程:并发协作-死锁**@authorAdministrator2009-11-422:06:13*/publicclassTest{publicstaticv

系统 2019-08-12 09:29:31 2237

Java

监控Java应用程序Windows内存使用情况

尽管Java™运行时能够解决大量的内存管理问题,但对程序的内存占用情况保持警惕仍然是优化机器性能、测定内存泄露的关键。Windows上有很多工具可以监控内存的使用。但每种工具各有长短,都有特定的倾向性,常常没有明确地定义自己测量的是什么。作者将澄清关于内存使用的一些常见误解,介绍很多有用的工具,同时还将提供何时以及如何使用它们的指南。

Java

Java网络编程从入门到精通(19):套接字(Socke

本文为原创,如需转载,请注明作者和出处,谢谢!上一篇:Java网络编程从入门到精通(18):Socket类的getter和setter方法(2)在Socket类中有很多方法在声明时使用throws抛出了一些异常,这些异常都是IOException的子类。在Socket类的方法中抛出最多的就是SocketException,其余还有七个异常可供Socket类的方法抛出。这些异常的继承关系如图1所示。其中灰色背景框所描述的例外就是Socket类的方法可能抛出的

系统 2019-08-29 23:11:34 2236

Java

JAVA中按字节截取字符串

/***//***按字节长度截取字符串*@paramstr将要截取的字符串参数*@paramtoCount截取的字节长度*@parammore字符串末尾补上的字符串*@return返回截取后的字符串*/publicStringsubstring(Stringstr,inttoCount,Stringmore)...{intreInt=0;StringreStr="";if(str==null)return"";char[]tempChar=str.toCh

系统 2019-08-29 22:59:44 2236

Java

JAVA基础--方法传参

JAVA基础--方法传参为啥拿这个当话题?在初学者阶段,许多童鞋都对方法传参比较迷茫,知其然不知其所以然。一.先说说参数传递的几个术语:值调用(callbyvale):表示方法接收的是调用者传递的值。引用调用(callbyreference):表示方法接收的是调用者传递的变量地址。一个方法可以修改传递引用所对应的变量值,而不能修改传递值调用所对应的变量值;**JAVA语言总是采用值调用。也就是说,JAVA方法得到的是所有参数值的一个拷贝,方法不能修改传递给

系统 2019-08-29 22:32:28 2236

Java

C/C++、Java、Go、Python总结对比29-异常处理-go

go语言为了更加简洁优雅,没有类似java的try...catch...这种写法,因为try...catch在某些情况下会嵌套使用,造成代码运行后不知道哪里就跑到了异常处理的代码里。但是也有相应的异常处理机制。需要记住的关键词有个,error,defer,panic,recover。1errorerror类似java中的Exception类型,不同的是Exception必须搭配throw和catch使用。Go语言中的error类型实际上是抽象了Error(

系统 2019-09-27 17:46:09 2235

Java

Java6学习笔记39——日志操作

1.简介:ava.util.logging,它可以对程序中的日志记录进行相当复杂的控制。例如:通过它可以指定日志的级别和日志的位置(控制台、文件、套接字、内存缓冲区),也可以创建子记录器,通过它可以用程序控制的方式来指定想记录的内容,也可以使用配置文件来指定,而不需要去改动程序。2.体系:3.实例:importjava.util.logging.Logger;importjava.util.logging.Level;importjava.util.log

系统 2019-08-29 22:27:15 2235

Java

java内存分配和String的不变性

转载请出自出处:http://eksliang.iteye.com/blog/2146549http://eksliang.iteye.com一.java分配内存涉及的区域包括寄存器常量池栈堆静态存储域二.寄存器介绍寄存器是最快的内存区域,因为他保存在处理器内部,这块区域我们没有直接的控制权,也不可能在代码里面找到寄存器的任何存在踪迹,所以这块不做讨论三.常量池介绍1.常量池是什么?答:他是在.class文件中开避的一块内存区域,用来存储在编译期间就可以确

系统 2019-08-12 09:30:36 2235

Java

Java安全通信、数字证书及应用实践

摘要:在本文中,我用详细的语言和大量的图片及完整的程序源码向你展示了在JAVA中如何实现通过消息摘要、消息验证码达到安全通信、以及用Java的工具生成数字证书,和用程序给数字证书签名、以及用签名后的数学证书签名applet突破applet的访问权限的过程,给出了全部例子的详细代码。通过本文中你可以学到以下知识:●程序间如何安全通信●什么是及如何生成消息摘要●什么是及如何生成消息验证码●如何使用Java工具生成和维护数字证书库●如何用程序给数字证书验证签名●

系统 2019-08-12 09:30:06 2235