自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (38)
  • 收藏
  • 关注

原创 mysql数据库设计、优化、注意事项(一)

mysql数据库设计、优化、注意事项一、表的设计相关:1、表设计注意事项: 数据行的长度不要超过8020字节,如果超过这个长度的话在物理页中这条数据会占用两行从而造成存储碎片,降低查询效率。 字段的长度在最大限度的满足可能的需要的前提下,应该尽可能的设得短一些,这样可以提高查询的效率,而且在建立索引的时候也可以减少资源的消耗。 能够用数字类型的字段尽量选择数字类型而不用字符串类型的(电话号码),这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接回.

2021-05-19 11:55:55 285

原创 Spring事务异常rollback-only 笔记

回滚事务异常报错: java.lang.RuntimeException: org.apache.cxf.interceptor.Fault: Transaction rolled back because it has been marked as rollback-only 发生的场景:由于是webservice 接口 服务,当客户端调用接口方法时,service当中有异常抛出时需要

2017-08-25 17:05:27 6147 1

原创 (一)学习用idea 开发工具

学习目的:因为很多朋友都在慢慢的从myeclipse 转用IDEA. 用完的感觉都是很好用, 没有之前那么卡,也没有那么容易突然死掉。一、看下安装的要求环境: 系统支持:Microsoft Windows 8 / 7 / Vista / 2003 / XP(每个系统版本的 32 位和 64 位都可以) JDK 版本:Oracle JDK 1.6 或以上 内存:最低要求 1 GB,推荐

2017-05-11 17:53:31 361

原创 初学Nginx windos下安装

(一)初学Nginx windos下安装一、[Nginx-1.11.3 windows版本下载] (http://download.csdn.net/detail/xixi808/9839024) 也可以去官网下载新的版本 http://nginx.org/en/download.html二、解压下载的Nginx 结构如下 三、双击目录下面的nginx.exe就可以启动(这里会有个闪

2017-05-10 23:14:45 1507

原创 zk+redis+tomcat 实现session共享遇到问题

实现目的: 在使用Nginx+Tomcat+zk项目实现负载均衡的时候,由于Nginx对不同的请求分发到某一个Tomcat,Tomcat在运行的时候分别是不同的容器里,因为会出现session不同步或者丢失的问题。通过tomcat+redis+zk项目实现session共享一、服务器环境配置 tomcat 版本7.0.62 redis 版

2017-05-10 15:17:24 1176 2

Nginx-1.11.3 windows版本下载

由于官网的下载总是会出现网络错误问题,所以上传到这里提供大家一起下载。

2017-05-10

zk+sptingmvc+ibatis 项目案例

这个是一个简单的zk项目案例,对于初学者来看可以加深对zk的学习。 里面有数据库的脚本需要导入到 oracle 10g(文件名 sql.dmp)

2017-05-10

zk+sptingmvc+ibatis 系统

zk+sptingmvc+ibatis 系统

2017-05-10

jquery邮件发送控件

jquery邮件发送控件

2012-08-20

junit使用指南及作业规范

1. JUNITJUNIT 总览 ................................ ................................ ................................ ................................ ... 3 1.11.11.1 简介 ................................ ................................ ................................ ................................ ....... 3 1.21.21.2 特性 ................................ ................................ ................................ ................................ ....... 3 1.31.31.3 适用对象 ................................ ................................ ................................ ............................... 3 2 JUNITJUNIT 使用 ................................ ................................ ................................ ................................ ... 3 2.12.12.1 JUNITJUNIT JUNIT 3.X3.X3.X使用 ................................ ................................ ................................ ......................... 3 2.1.12.1.12.1.12.1.12.1.1 下载与安装 下载与安装 ................................ ................................ ................................ ...................... 3 2.1.22.1.22.1.22.1.22.1.2 使用方法 ................................ ................................ ................................ .......................... 4 2.1.2.12.1.2.12.1.2.12.1.2.12.1.2.12.1.2.12.1.2.1 基本流程 (我们一般都是这么写) ................................ ................................ ................... 4 2.1.2.22.1.2.22.1.2.22.1.2.22.1.2.22.1.2.22.1.2.2 重要概念和类 (你必须了解的东西) ................................ ................................ ............... 5 2.1.2.32.1.2.32.1.2.32.1.2.32.1.2.32.1.2.32.1.2.3 JUNIT JUNIT 固件的安装与拆除 (测试方法启动和结束之前要做的) (测试方法启动和结束之前要做的) ................................ .... 6 2.1.2.42.1.2.42.1.2.42.1.2.42.1.2.42.1.2.42.1.2.4 Eclipse Eclipse 中使用 junit junitjunit (有了开发工具对 (有了开发工具对 junit junitjunit 的支持后) ................................ ................. 8 2.22.22.2 JUNITJUNIT JUNIT 4.X4.X4.X使用 ................................ ................................ ................................ ....................... 12 2.2.12.2.12.2.12.2.12.2.1 下载与安装 下载与安装 ................................ ................................ ................................ .................... 12 2.2.22.2.22.2.22.2.22.2.2 使用方法 ................................ ................................ ................................ ........................ 13 2.2.2.12.2.2.12.2.2.12.2.2.12.2.2.12.2.2.12.2.2.1 与 3.x3.x3.x版本的异同 (看谁更简单) (看谁更简单) ................................ ................................ .................. 13 2.2.2.22.2.2.22.2.2.22.2.2.22.2.2.22.2.2.22.2.2.2 常用注解 (体验 annotationannotationannotationannotationannotationannotationannotation annotationannotation的简单便捷) 的简单便捷) ................................ ................................ ...... 13 2.2.2.32.2.2.32.2.2.32.2.2.32.2.2.32.2.2.32.2.2.3 4.x4.x4.x新特性实战 (实践出真知) ................................ ................................ ....................... 14 3 作业规范 ................................ ................................ ................................ ................................ ...... 21 4 附录 ................................ ................................ ................................ ................................ .............. 22 4.14.14.1 下版计划 ................................ ................................ ................................ ............................. 22 4.24.24.2 修订记录 ................................ ................................ ................................ ............................. 23 4.34.34.3 参考文献 ................................ ................................ ................................ ............................. 23

2012-07-04

java缓存实现与spring托管

0. 文档介绍 2 0.1 文档目的 2 0.2 文档范围 2 0.3 读者对象 2 0.4 参考文献 2 0.5 术语与缩写解释 2 1. 概述 3 1.1背景 3 1.2 主要特征 3 1.3环境 5 1.4下载资源 5 2. EHCACHE页面缓存的配置 5 2.1 EHCACHE的类层次模型 5 2.2环境搭建 6 2.3 EHCACHE配置文件中元素说明 8 2.4 在工程中单独使用 10 3. 在SPRING中运用EHCACHE 17 4. 分布式缓存集群环境配置 19 4.1 集群配置方式 19 5. 测试用例 28

2012-07-04

hibernate二级缓存

Hibernate二级缓存 在一个数据库系统中,如果缓存设置的合适,那么可以极大的提高系统的效率,Hibernate作为一个ORM工具 提供了缓存的机制,包括一级(Session级)缓存和二级(SessionFactory级)缓存。这里主要总结一下二级缓存。 1.首先需要在hibernate.cfg.xml中配置,当然需要导入缓存的jar包 <property name="hibernate.cache.use_query_cache">true</property> <property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property> hibernate.cache.use_query_cache必须配置,如果想缓存使用findall()、list()、Iterator()、createCriteria()、 createQuery()等方法获得的数据结果集。

2012-07-04

Java基础面宝典

解析:虽然不知道什么是跨平台也可以使用Java语言进行编程,但是对于一个Java编程员来说,理解跨平台特性能够更深入掌握Java语言,所以企业中往往要求应聘者至少理解这个特性。 参考答案:Java的跨平台特性也被称为可移植性、平台无关性,或者一次编写处处运行。他的意思就是如果用Java语言编写一个应用,那么就可以在不同平台上运行,而不需要为不同平台单独运行开发。之所以能实现跨平台的特性。主要得益于Java虚拟机(JVM),JVM解释器在运行Java应用时根据当前平台进行解释,解释成符合当前平台规范的机器码,所以可以实现同样的应用在不同平台上都能运行。

2012-07-04

JAVA缓存技术_深入了解

Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问 凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache

2012-07-04

FormFile上传图片

早前我做JSP项目的时候,用过jspSmartUpload这个组件来上传和下载图片,但是现在做的是SSH整合的项目,而struts又提供了一个FormFile类来做文件的上传和下载,如果还用jspSmartUpload来做的话,有点说不过去,于是试着使用FormFile,在把我的代码贴出来之前,先做几个说明。 1、 图片的保存 图片可以以二进制形式的字段blob保存在数据库(我用的是MYSQL),但是我使用的方法是把图片保存在文件夹,而图片的路径以string形式保存在数据库,下次展现图片的时候,直接在数据库找到路径就行 2、 struts+hibernate保存图片 struts+hibernate整合项目保存图片时候,除了struts的FormFile起主要作用外,hibernate做了什么?其实hibernate所做的事和保存图片没太大的关系,只是把路径保存了 3、 struts保存图片除了配置文件外,我只了建3个文件(Action、Form、Jsp)。 下面给出我3个文件完整的代码,代码可以正确运行保存图片,如果把我的代码拷贝到你机器上运行,请看代码的注释 文件一Index.Jsp代码如下

2012-07-04

JConsole_远程监控Tomcat_ricky

JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。如果要把一个应用以可管理的形式启动,可以在启动是设置com.sun.management.jmxremote。JConsole能够提供被监控虚拟机的内存、线程、类的加载以及MBean等信息,从而能够对服务器的运行情况进行实时监控。 其实在 JDK 5 中已经新加入了这个功能了. 现在的 JDK 已经内置了对 VM 的监控功能. JDK 6 中这个工具变的更加好用了. 关于 JDK 5 中如何使用这个工具可以参考这里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

2012-07-04

dojo快速入门

2006 年初,dojo 还是0.22 的时候就很关注它的发展,可一直没有 在实际项目中使用。一来是由于文档的缺少,而来是dojo 的相关介 绍总是让人望而生畏。到现在都如此,第一个hello world 就搞了一 大堆东西,比如widget 组件,自定义的script 标签等,加上要引入 什么css 文件,djConfig、dojo.require 等等,让人很迷惑,这么 复杂,到底dojo 该怎么使用呢?我只是想把dojo 当作一个普通的 js 类库,就像prototype 那样?OK,闲话少说,来看看如何使用 dojo。 -----------------------------------------------------------------------------------------------------

2012-07-04

Dojo+API(免费下载)

Dojo 体系架构总体上来看是一个分层的体系架构。最下面的一层是包系统,Dojo API 的结构与 Java 很类似,它把所有的 API 分成不 同的包(package),当您要使用某个 API 时,只需导入这个 API 所在的包。包系统上面一层是语言库,这个语言库里包含一些语言工具 API,类似于 Java 的 util 包。再上一层是环境相关包,这个包的功能是处理跨浏览器的问题。Dojo 体系架构图 Dojo 大部分代码都位于应用程序支持库,由于太小限制,图中没有列出所有的包。开发人员大部分时候都在调用这个层中的 API,比如,用 IO 包可以进行Ajax 调用。 最上面的一层是 Dojo 的 Widget 系统,Widget 指的是用户界面中的一个元素,比如按钮、进度条和树等。 Dojo 的 Widget 基于 MVC 结构。它的视图作为一个 Template(模板)来进行存放,在 Template 中放置着 HTML 和 CSS 片段,而控制器来对该 Template 中的元素进行操作。 Widget 不仅支持自定义的样式表,并且能够对内部元素的事件进行处理。用户在页面中只需要加入简单的标签就可以使用。在这一层中,存在数百个功能强大的 Widget 方便用户使用,包括表格、树、菜单等。 常用包介绍

2012-07-04

Jtest8.1破解文件(免费)

Jtest8.1破解文件(免费)

2012-05-08

spring源码

rar包内含有spring2.5.6源码,解压即可使用 源代码分析,是一件既痛苦又快乐的事情,看别人写的代码是通过的,但当你能够看明白的时候,相信快乐也会随之而来,为了减少痛苦,更快的带来快乐,在这里希望通过这篇文章对觉得困难的朋友有一个帮助。 本文以spring框架的XmlBeanFactory为入手点进行分析,希望能够以尽量简洁明了的方式给予有需要的朋友一定的帮助。 首先来打开该类的代码,我们将看到如下代码: Java代码 public class XmlBeanFactory extends DefaultListableBeanFactory { private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); public XmlBeanFactory(Resource resource) throws BeansException { this(resource, null); } public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); } } public class XmlBeanFactory extends DefaultListableBeanFactory { private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); public XmlBeanFactory(Resource resource) throws BeansException { this(resource, null); } public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeansException { super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); } } 这个类的代码很简单,一个成员对象加两个构造函数,从这里我们可以看出,最重要的地方在于最后一个构造函数: Java代码 super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); super(parentBeanFactory); this.reader.loadBeanDefinitions(resource); 第一句就是将父亲工厂交给父类的构造函数,实际上最后也就是把父工厂保存到类的parentBeanFactory成员对象中,这个对象是在AbstractBeanFactory抽象类中定义的,而这个父工厂也会一直传递到该抽象类进行保存。第二句就是整个类中最重要的地方了,顾名思义,它的目的是通过XmlBeanDefinitionReader这个XML的Reader从资源resource中(也就是你的配置文件)读取bean的定义。接下来我们打开XmlBeanDefinitionReader的loadBeanDefinitions方法,我们可看到在这个方法里代码就一行,调用了一个同名不同参的方法,而参数是EncodedResource的一个实例,这个类实际上是Resource的一个包装类,用来保存资源的Encode的,那接下来我们再看被调用的loadBeanDefinitions方法,这个方法里最主要的部分就是: Java代码 InputSource inputSource = new InputSource(inputStream); if (encodedResource.getEncoding() != null) { inputSource.setEncoding(encodedResource.getEncoding()); } return doLoadBeanDefinitions(inputSource, encodedResource.getResource()); InputSource inputSource = new InputSource(inputStream); if (encodedResource.getEncoding() != null) { inputSource.setEncoding(encodedResource.getEncoding()); } return doLoadBeanDefinitions(inputSource, encodedResource.getResource()); 这里的目的是将资源包装成一个InputSource,连同Resource作为参数传递到doLoadBeanDefinitions方法 Java代码 DocumentBuilderFactory factory = createDocumentBuilderFactory(); if (logger.isDebugEnabled()) { logger.debug("Using JAXP implementation [" + factory + "]"); } DocumentBuilder builder = createDocumentBuilder(factory); Document doc = builder.parse(inputSource); return registerBeanDefinitions(doc, resource); DocumentBuilderFactory factory = createDocumentBuilderFactory(); if (logger.isDebugEnabled()) { logger.debug("Using JAXP implementation [" + factory + "]"); } DocumentBuilder builder = createDocumentBuilder(factory); Document doc = builder.parse(inputSource); return registerBeanDefinitions(doc, resource); 这个方法的目的一目了然,就是为了将资源解释成为Document对象,然后调用registerBeanDefinitions方法,这里不做详细解释,不了解的话请去看看关于JAXP的介绍。接下来我们打开registerBeanDefinitions方法: Java代码 public int registerBeanDefinitions(Document doc, Resource resource) throws BeansException { XmlBeanDefinitionParser parser = (XmlBeanDefinitionParser) BeanUtils.instantiateClass(this.parserClass); return parser.registerBeanDefinitions(this, doc, resource); } public int registerBeanDefinitions(Document doc, Resource resource) throws BeansException { XmlBeanDefinitionParser parser = (XmlBeanDefinitionParser) BeanUtils.instantiateClass(this.parserClass); return parser.registerBeanDefinitions(this, doc, resource); } 这里创建了一个XmlBeanDefinitionParser接口的实现,这个接口的具体类是DefaultXmlBeanDefinitionParser,这个接口很简单,只有registerBeanDefinitions一个方法,这个方法的作用也很明了,就是用来注册Bean的定义的,所以说类和方法的名字一定要起得有意义,这样可以让人一看就大概了解其作用,减少了很多阅读代码的痛苦。废话不多说,我们打开DefaultXmlBeanDefinitionParser的registerBeanDefinitions方法,这个类就是解释XML配置文件的核心类了,打开registerBeanDefinitions方法后我们看到如下代码: Java代码 public int registerBeanDefinitions(BeanDefinitionReader reader, Document doc, Resource resource) throws BeanDefinitionStoreException { this.beanDefinitionReader = reader; this.resource = resource; logger.debug("Loading bean definitions"); Element root = doc.getDocumentElement(); //初始化根元素 initDefaults(root); if (logger.isDebugEnabled()) { logger.debug("Default lazy init '" + getDefaultLazyInit() + "'"); logger.debug("Default autowire '" + getDefaultAutowire() + "'"); logger.debug("Default dependency check '" + getDefaultDependencyCheck() + "'"); } preProcessXml(root);//一个空方法用于扩展 int beanDefinitionCount = parseBeanDefinitions(root);//解释配置的主要方法 if (logger.isDebugEnabled()) { logger.debug("Found " + beanDefinitionCount + " <bean> elements in " + resource); } postProcessXml(root); //一个空方法用于扩展 return beanDefinitionCount; } public int registerBeanDefinitions(BeanDefinitionReader reader, Document doc, Resource resource) throws BeanDefinitionStoreException { this.beanDefinitionReader = reader; this.resource = resource; logger.debug("Loading bean definitions"); Element root = doc.getDocumentElement(); //初始化根元素 initDefaults(root); if (logger.isDebugEnabled()) { logger.debug("Default lazy init '" + getDefaultLazyInit() + "'"); logger.debug("Default autowire '" + getDefaultAutowire() + "'"); logger.debug("Default dependency check '" + getDefaultDependencyCheck() + "'"); } preProcessXml(root);//一个空方法用于扩展 int beanDefinitionCount = parseBeanDefinitions(root);//解释配置的主要方法 if (logger.isDebugEnabled()) { logger.debug("Found " + beanDefinitionCount + " <bean> elements in " + resource); } postProcessXml(root); //一个空方法用于扩展 return beanDefinitionCount; } 在这个方法当中,主要用于解释定义的有两个方法,一个是initDefaults,一个是parseBeanDefinitions,第一个方法是用来解释根元素的属性的,例如lazy-init, autowire等,而parseBeanDefinitions就是用来解释具体的bean定义了,方法代码如下: Java代码 protected int parseBeanDefinitions(Element root) throws BeanDefinitionStoreException { NodeList nl = root.getChildNodes(); int beanDefinitionCount = 0; for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); if (node instanceof Element) { Element ele = (Element) node; if (IMPORT_ELEMENT.equals(node.getNodeName())) { importBeanDefinitionResource(ele); } else if (ALIAS_ELEMENT.equals(node.getNodeName())) { String name = ele.getAttribute(NAME_ATTRIBUTE); String alias = ele.getAttribute(ALIAS_ATTRIBUTE); this.beanDefinitionReader.getBeanFactory().registerAlias(name, alias); } else if (BEAN_ELEMENT.equals(node.getNodeName())) { beanDefinitionCount++; BeanDefinitionHolder bdHolder = parseBeanDefinitionElement(ele, false); BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, this.beanDefinitionReader.getBeanFactory()); } } } return beanDefinitionCount; } protected int parseBeanDefinitions(Element root) throws BeanDefinitionStoreException { NodeList nl = root.getChildNodes(); int beanDefinitionCount = 0; for (int i = 0; i < nl.getLength(); i++) { Node node = nl.item(i); if (node instanceof Element) { Element ele = (Element) node; if (IMPORT_ELEMENT.equals(node.getNodeName())) { importBeanDefinitionResource(ele); } else if (ALIAS_ELEMENT.equals(node.getNodeName())) { String name = ele.getAttribute(NAME_ATTRIBUTE); String alias = ele.getAttribute(ALIAS_ATTRIBUTE); this.beanDefinitionReader.getBeanFactory().registerAlias(name, alias); } else if (BEAN_ELEMENT.equals(node.getNodeName())) { beanDefinitionCount++; BeanDefinitionHolder bdHolder = parseBeanDefinitionElement(ele, false); BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, this.beanDefinitionReader.getBeanFactory()); } } } return beanDefinitionCount; } 其他标签具体如何被解释这里就不多说,相信大家也能看得懂,这里主要讲一下解释bean的的处理,我们注意以下代码: Java代码 else if (BEAN_ELEMENT.equals(node.getNodeName())) { beanDefinitionCount++; BeanDefinitionHolder bdHolder = parseBeanDefinitionElement(ele, false); BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, this.beanDefinitionReader.getBeanFactory()); } else if (BEAN_ELEMENT.equals(node.getNodeName())) { beanDefinitionCount++; BeanDefinitionHolder bdHolder = parseBeanDefinitionElement(ele, false); BeanDefinitionReaderUtils.registerBeanDefinition(bdHolder, this.beanDefinitionReader.getBeanFactory()); } 这里是当碰到一个bean标签的时候所进行的处理,也既是对bean的定义进行解释,可以看到parseBeanDefinitionElement方法的第一个参数就是bean则个元素,第二个参数表示该bean是否为内置的bean,从这里进行解释的bean都不可能是内置的,所以这里直接以false为参数,打开parseBeanDefinitionElement方法,就可以看到这个方法里就是对bean的内部的解释,也很简单,也不多讲了,呵呵(下班时间已经到了,所以就写这么多了,基本的流程也就这样,没什么特别难的地方。),对了,最后还有一点就是解释完后,bean的定义将会被保存到beanFactory中,这个beanFactory的实现就是XmlBeanFactory了,该beanFactory是在new的时候被传递到reader中的,就是该类中以下这行代码: Java代码 private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this); 好了,就这么多了,本文只作为参考,只讲解了如何加载bean定义这块,只作为一个参考,希望对其他朋友能有所帮助吧,因为时间匆忙,有错漏的地方请指正。

2012-05-04

hibernate源码(免费

hibernate源码

2012-05-04

junit4.4+junit4.5+开源码打包下载 免费

junit4.4+junit4.5+开源码打包下载

2012-05-04

junit4测试源码 免费

junit4测试源码 免费

2012-05-04

junit-4.8.1.jar (免费)

junit-4.8.1.jar (免费)

2012-05-04

android项目_-天气预报详解实例(免费)

android项目_-天气预报详解实例(免费)

2012-03-23

Android开发之旅 Intents和Intent Filters(实例部分)(免费)

Android开发之旅 Intents和Intent Filters(实例部分)(免费)

2012-03-22

Android安卓系统自带软件详解(免费)

我们使用文件管理器的时候,会发现系统中有很多apk,而这些并非我们自己安装的软件,这些到底是什么软件,有什么用?这就是安卓系统自带的软件,很多软件都是我们很少用到的,但我们又无法删掉,其实,只要是有获取ROOT权限的手机,我们都可以自己将这些没用到的软件卸载掉。

2012-03-19

Java节假日算法(免费)

Java节假日算法(免费)

2012-03-16

J2EE开发资料

J2EE开发资料java语言连接mysql, sqlserver, oracle

2012-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除