Java Flight Recorder简称JFR,OpenJDK从11版本开始支持。它是一个低开销的数据收集框架,可用于在生产环境中分析Java应用和JVM运行状况及性能问题。
View Details一、单一职责原则(Single-Responsibility Principle):就一个类而言,应该仅有一个引起它变化的原因。
二、开放封闭原则(Open-Closed Principle):是说软件实体(类、模块、函数等等)应该可以扩展的,但是不可修改。
三、依赖倒置原则(Dependency-Inversion Principle):抽象不应该依赖细节,细节应该依赖于抽象。
四、里氏替换原则(Liskov-Substituent Principe.):子类必须能够替换掉它们的父类。其意思:子类必须具有父类的所有特性。
五、接口隔离原则(Interface-Segregation Principle):多个专用接口优于一个单一的通用接口。其意思:不要将所有的方法都添加到一个接口中。
第一步: 1、把module目录下的MATA-INF文件夹删除,如果没有MATA-INF文件夹则不用删除 2、Ctrl + Alt + Shift + S 打开 Project Structure 窗口 第二步: 新增Artifacts,操作如下图 第三步: 设置如下图: 1、选择要打包的module 2、选择Main-Class 3、JAR files from library选择第二项,这样可以把依赖的jar包分离出来 4、MANIFEST.MF的路径不要使用默认的src/main/java目录,改成module的目录 5、点击ok 第四步: 上一步(第三步)点击ok后看到如下结构无误,则再次点击ok 第五步: 构建JAR文件,操作如下图: 第六步: Ctrl + Alt + Shift + S 打开 Project Structure 窗口,查看输出目录,如下图: 在上图所示的Output Directory目录下即可看到项目的jar包及其依赖的其他jar包,如下: 第七步: 运行项目: 使用命令 java -jar demo3.jar 即可运行项目,如下图: from:https://www.cnblogs.com/oldpub-blog/p/13415821.html
View Details|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
//准备序化列对象 XmlSerializer xs = new XmlSerializer(obj.GetType()); MemoryStream ms = new MemoryStream(); //设置序序化XML格式 XmlWriterSettings xws = new XmlWriterSettings(); xws.Indent = true; xws.OmitXmlDeclaration = true; xws.Encoding = Encoding.UTF8; XmlWriter xtw = XmlTextWriter.Create(ms, xws); //去掉要结点的 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 属性 XmlSerializerNamespaces _namespaces = new XmlSerializerNamespaces( new XmlQualifiedName[] { new XmlQualifiedName(string.Empty, "aa") }); xs.Serialize(xtw, obj,_namespaces); ms.Position = 0; xmlDoc = new XmlDocument(); xmlDoc.Load(ms); //给文档添加<?xml version="1.0" encoding="utf-8"?> XmlDeclaration xmlDecl = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null); xmlDoc.InsertBefore(xmlDecl, xmlDoc.DocumentElement); |
from:https://blog.csdn.net/a5251199/article/details/106546967
View Details|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; namespace object2xml { public static class XmlExtension { public static string Serialize<T>(this T value) { if (value == null) return string.Empty; var xmlserializer = new XmlSerializer(typeof(T)); using (StringWriter stringWriter = new StringWriter()) { using (var writer = XmlWriter.Create(stringWriter, new XmlWriterSettings { Indent = true })) { xmlserializer.Serialize(writer, value); return stringWriter.ToString(); } } } } } |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace object2xml { public class Persion { public string Name { get; set; public int Age { get; set; } } } |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; namespace object2xml { class Program { static void Main(string[] args) { Persion p = new Persion(); p.Name = "张三"; p.Age = 18; var xml = p.Serialize<Persion>(); Console.WriteLine(xml); } } } |
from:https://blog.csdn.net/justgono/article/details/45887619
View Details去除命名空间:
|
1 2 3 4 5 6 7 8 |
//Create our own namespaces for the output XmlSerializerNamespaces ns = new XmlSerializerNamespaces (); //Add an empty namespace and empty value ns.Add ("", ""); //Create the serializer XmlSerializer slz = new XmlSerializer (someType); //Serialize the object with our own namespaces (notice the overload) slz.Serialize (myXmlTextWriter, someObject, ns); |
此外,在评论中还提到了去除开头的<?xml version="1.0" encoding="utf-8"?>的方法:
|
1 2 3 4 |
XmlWriterSettings settings = new XmlWriterSettings (); // Remove the <?xml version="1.0" encoding="utf-8"?> settings.OmitXmlDeclaration = true; XmlWriter writer = XmlWriter.Create ("output_file_name.xml", settings); |
另外,如果出现开头没有encoding="utf-8"时,应该使用:
|
1 2 3 |
XmlWriterSettings settings = new XmlWriterSettings (); settings.Encoding = Encoding.UTF8; XmlWriter writer = XmlWriter.Create ("output_file_name.xml", settings); |
参考文献: 1.在XML序列化时去除默认命名空间xmlns:xsd和xmlns:xsi from:https://www.swack.cn/wiki/001559619644599d7563755fc544a19aebbb4eaf0dcb274000/0015889968933656748bbc3214e4f04a714c163b9227520000
View Details