首页 文章
  • 单例与Android中的应用程序上下文?

    问题 回顾一下这个post enumerating several problems of using singletons并且看过几个使用单例模式的Android应用程序的例子,我想知道使用Singletons而不是通过全局应用程序状态共享的单个实例(子类化android.os.Application并通过context.getApplication()获取它)是一个好主意。 两种机制都有哪些优...
  • 在Java中避免同步(this)?

    问题 每当有关Java同步的问题出现时,有些人非常渴望指出应该避免使用synchronized(this)。相反,他们声称,首选锁定私人参考。 一些给出的原因是: 一些邪恶的代码可能会偷你的锁(这个非常受欢迎,也有一个"意外"的变种) 同一类中的所有同步方法使用完全相同的锁,这会降低吞吐量 你(不必要地)暴露了太多信息 其他人,包括我在内,认为synchronized(th...
  • 查找Java中的核心数量

    问题 如何从Java代码中找到应用程序可用的核心数? #1 热门回答(559 赞) int cores = Runtime.getRuntime().availableProcessors(); 如果cores小于1,那么你的处理器即将死亡,或者你的JVM中有一个严重的错误,或者宇宙即将爆炸。 #2 热门回答(16 赞) 如果要获取物理内核的数量,可以运行cmd和terminal命令,然后解...
  • 相当于C#的DateTime.Now在Java中?

    问题 如何在Java中获取当前日期? 在C#中它是DateTime.Now。 #1 热门回答(405 赞) 只需构建一个没有任何参数的new206​​66728对象;这会将当前日期和时间分配给新对象。 import java.util.Date; Date d = new Date(); 用the Javadocsforthe zero-argument constructor的话说: 分...
  • 我怎样才能生成 MD5 哈希?

    问题 有什么方法可以在 Java 中生成字符串的 MD5 哈希值? #1 热门回答(644 赞) MessageDigest 类可以为你提供一个MD5摘要的实例。 当使用字符串和加密类时,请确保总是指定您希望字节表示的编码。如果您只使用string.getBytes()它将使用平台默认值。 (并非所有平台都使用相同的默认值) import java.security.*; .. byte[] b...
  • “无法找到或加载主类”是什么意思?

    问题 新Java开发人员遇到的一个常见问题是,他们的程序无法运行,并显示错误消息:“无法找到或加载主类......” 这是什么意思,是什么导致它,你应该如何解决它? #1 热门回答(839 赞) java <class-name>命令语法 首先,您需要了解使用java(或javaw)命令启动程序的正确方法。 正常的语法是这样的: java [ <option> ... ]...
  • 如何在Java中创建通用数组?

    问题 由于Java泛型的实现,您不能实现这样的代码: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } 我如何在维护类型安全的同时实现这一点...
  • 无法加载JNI共享库(JDK)

    问题 当我尝试打开Eclipse时,弹出对话框显示: >无法加载JNI共享库“C:/JDK/bin/client/jvm.dll”。 在此之后,Eclipse强制关闭。 以下是我想说的几点: 我检查了一下在这条路上是否有任何东西存在。它确实存在。 我的Eclipse和Java SE开发工具包都是64位的。我检查了我的系统,它可以处理64位。 我在Google和Stack Overflow...
  • 用Java获取当前堆栈跟踪

    问题 如何在Java中获取当前堆栈跟踪,例如.NET中可以执行Environment.StackTrace? 顺便说一句,Thread.dumpStack() 不是我想要的 - 我想获得 stack traceback,而不是打印出来。 #1 热门回答(992 赞) 您可以使用Thread.currentThread().getStackTrace()。 它返回一个表示程序当前栈跟踪的 Stac...
  • 我怎样才能填充左边的零整数?

    问题 在java中转换为String时,如何用零填充int? 我希望用前导零(例如1 =0001)填充类似于 '9999' 的整数。 #1 热门回答(1437 赞) 像这样使用java.lang.String.format(String,Object ...): String.format("%05d", yournumber); 用于长度为5的零填充。对于十六进制输出,用...
  • 在Java类路径中的所有目录中包含一个目录

    问题 有没有办法在类路径中的目录中包含所有的jar文件? 我正在尝试java -classpath lib / *。jar :. my.package.Program并且它无法找到肯定在那些 jar 里的类文件。我是否需要分别将每个jar文件添加到类路径中? #1 热门回答(958 赞) 使用Java 6或更高版本,类路径选项支持通配符。请注意以下几点: 使用直引号(“) 使用*,而不是* ....
  • 为什么 RecyclerView 没有 onItemClickListener() ?

    问题 我正在探索RecyclerView,我惊讶地发现 RecyclerView 没有 onItemClickListener()。因为RecyclerView 继承自 android.view.ViewGroup 而 ListView 继承自 android.widget.AbsListView。但是我通过在RecyclerView.Adapter中编写onClick来解决我的问题: pub...
  • 无法启动Eclipse - Java已启动但​​返回退出代码= 13

    问题 我正在尝试使用Eclipse来初次体验Android开发。我在尝试运行Eclipse时遇到了这个问题,仅在几分钟前安装了4.2版本。 在第一次尝试启动Eclipse而没有任何参数来指定Java VM之后,我收到一条错误消息,说它无法在Eclipse文件夹中找到名为javaw.exe的Java VM,因此我找到了安装Java的位置并将该位置指定为快捷方式的目标中的参数。现在我得到一个不同的错误...
  • “Synchronized”是什么意思?

    问题 我对synchronized关键字的用法和意义有一些疑问。 synchronized 关键字的意义是什么? 什么时候应该同步方法? 它在编程和逻辑上意味着什么? #1 热门回答(730 赞) synchronized关键字是关于读取和写入相同变量,对象和资源的不同线程。这在Java中并不是一个简单的话题,但是这里是Sun的一句话: 同步方法为防止线程干扰和内存一致性错误提供了一个简单...
  • HashMap,LinkedHashMap和TreeMap之间的区别

    问题 Java中的 HashMap,LinkedHashMap 和 TreeMap 有什么区别?我没有看到它们有任何输出差异,因为它们都有keySet和values。什么是 Hashtable? Map m1 = new HashMap(); m1.put("map", "HashMap"); m1.put("schildt", &quo...
  • 用Java读取纯文本文件

    问题 看起来有不同的方法来读取和写入 Java 文件的数据。 我想从文件中读取 ASCII 数据。 有几种实现方式? 它们的区别? #1 热门回答(631 赞) 我最喜欢读取小文件的方法是使用 BufferedReader 和 StringBuilder。这非常简单并且重要(尽管不是特别有效,但对于大多数情况来说足够好): BufferedReader br = new BufferedRe...
  • 如何在Java中将String转换为InputStream? [重复]

    问题 给定一个字符串: String exampleString = "example"; 如何将其转换为InputStream? #1 热门回答(1218 赞) 喜欢这个: InputStream stream = new ByteArrayInputStream(exampleString.getBytes(StandardCharsets.UTF_8)); 请注意,...
  • 由于对所需库rt.jar的限制而对类进行访问限制?

    问题 我试图编译由 IBM's WSDL2 创建的 Java 1.4 代码,但是在Eclipse中看到此错误。 Access restriction: The type QName is not accessible due to restriction on required library C:\Program Files\Java\jdk1.5.0_16\jre\lib\rt.jar 完...
  • 使用 Java 获取当前工作目录

    问题 我想要使用我的当前工作目录 String current = new java.io.File( "." ).getCanonicalPath(); System.out.println("Current dir:"+current); String currentDir = System.getProperty("user.dir&quot...
  • 何时使用以及如何使用 ThreadLocal 变量?

    问题 我什么时候应该使用ThreadLocal变量?它应该如何使用? #1 热门回答(771 赞) 一种常见的用法是当你有一些不是线程安全的对象时,你想避免对该对象的并发访问(如:SimpleDateFormat),而是给每个线程自己的对象实例。 例如: public class Foo { // SimpleDateFormat is not thread-safe, so give ...
  • 在 Java 中怎样将 ArrayList<String>转换为 String []

    问题 我怎样才能在 Java 中将 ArrayList&lt;String&gt;对象转换为String[]数组? #1 热门回答(1479 赞) List&lt;String&gt; list = ..; String[] array = list.toArray(new String[0]); 例如: List&lt;String&gt; list = new ArrayList&lt;S...
  • 如何将本地 jar 文件添加到Maven项目?

    问题 如何直接在我的项目的 repository 中添加本地 jar 文件(尚未成为Maven存储库的一部分)? #1 热门回答(978 赞) 您可以直接添加本地依赖项,如下所示: &lt;dependency&gt; &lt;groupId&gt;com.sample&lt;/groupId&gt; &lt;artifactId&gt;sample&lt;/artifactId...
  • Java中的静态类

    问题 Java 中是否有静态类? 这类 class 的意义是什么?静态类的所有方法都需要“static”吗? 它是否需要另一种方式,如果一个类包含所有静态方法,那么这个类是否也应该是静态的? 静态类有什么好处? #1 热门回答(702 赞) Java有静态类,但听起来你正在寻找顶级静态类。 Java无法使顶级类静态,但您可以像这样模拟静态类: 声明你的类为 final 类型 - 防止扩展类...
  • Java toString() 方法 中,StringBuilder vs String连接

    问题 下面的2个 toString()实现,应该首选哪一个: 方案一 public String toString(){ return &quot;{a:&quot;+ a + &quot;, b:&quot; + b + &quot;, c: &quot; + c +&quot;}&quot;; } 方案二 public String toString(){ StringBui...
  • Nginx访问日志(access_log)配置及信息详解

    通过查看 Nginx 访问日志,就可以知晓用户的地址,浏览时间,网站的哪部分最受欢迎,这样就可以对大多数用户用的的浏览器做出针对性优化。 Nginx访问日志(access_log)介绍 Nginx 会把每个用户访问日志信息记录到指定的日志文件里,供网站管理员分析用户浏览行为等,此功能由 ngx_http_log_module 模块负责。 访问日志参数 Nginx访问日志主要有两个参数控制 log_...
  • 如何将char转换为String?

    问题 我有一个char,我需要一个String。如何从一个转换为另一个? #1 热门回答(571 赞) 你可以使用Character.toString(char)。请注意,此方法只返回对String.valueOf(char)的调用,这也适用。 正如其他人所说,字符串连接也可以作为一种捷径: String s = &quot;&quot; + 's'; 但这归结为: String s = ne...
  • 自定义 HandlerInterceptor 拦截实现对 PathVariable 变量的读取

    问题 在工作中很多时候需要拦截 Http 请求,然后去获取一些参数,这些参数可能是 query string 串,也可能是路由上的字符,对于前者 HandlerInterceptor 的 request 对象有自己的方法,而对于后者,需要我们特殊处理一下,也就是今天要说的内容。 Http请求拦截作用 拦截后可以修改请求体 拦截后可以作一些其它统一的操作 添加拦截器 地址:https://sta...
  • 关于Java中用Double型运算时精度丢失的问题

    在使用 Java double 进行运算时,经常出现精度丢失的问题,总是在一个正确的结果左右偏0.0000**1。 特别在实际项目中,通过一个公式校验该值是否大于0,如果大于0我们会做一件事情,小于0我们又处理其他事情。这样的情况通过double计算出来的结果去和0比较大小,尤其是有小数点的时候,经常会因为精度丢失而导致程序处理流程出错。 BigDecimal 在《Effective Ja...
  • JAVA两种代理模式

    本文将通过动态代理,实现 Spring 通知方法: before afterReturning around afterException after Spring 的 AOP: 在容器中的对象如果实现了接口则采用JDK的动态代理。 在容器中的对象没有实现接口,则用(cglib)继承的方式实现动态代理。 现在模拟spring的动态代理。 首先准备接口(UserService)和实现...
  • 分析 MySQL 数据库索引失效的各种情况

    在 MySql 中,某些情况下会导致查询不是走索引,而是进行全表扫描,这样就极大的耗费了数据库资源,这时,我们就需要对查询进行分析,而要分析 MySQL 查询语句中的相关信息,就需要用到 explain 关键字。 一、explain 关键字   用法: explain +查询语句。id:查询语句的序列号,上面图片中只有一个select 语句,所以只会显示一个序列号。如果有嵌套查询,如下 selec...

热门问题