今天搭建一个测试环境:新安装的XenApp测试环境,发布应用程序,连域环境都是全新的,结果发现,访问Web Interface的时候速度就比正常的慢点,登录的时候更慢,即使是第二次,第三次以后,点击应用程序的时候,都是很长事件没有反应,要等很久才弹出ICA Client打开launch.ica文件的画面,大概需要20~30秒左右。 实在无法忍受,不知道是什么原因,用自己的镜像安装的操作系统的时候
原创 2011-07-06 08:07:59
501阅读
在平常的工作中,我们有时会遇到项目启动一直卡在某个地方,但是又没有日志输出,很难定位到底是在哪里卡住,下面笔者分析下个人本地调试的一些经验。为什么会卡首先我们需要明确下有哪些情况会导致主线程阻塞。在平常开发工作中,以下是常见场景网络请求阻塞(包括连接数据库,redis等,但一般此类设计时都会有超时时间)读取和写入本地流时一直阻塞开启debug定点程序被手动阻塞debug模式下断点过多会导致启动非常
本文的示例应用虽是 Eclipse 这一比较久远的 IDE 程序,但其中使用的优化思路和方式都值得借鉴,具备较高的实践参考价值; 文章目录1. 程序运行状态(调优前)2. 尝试升级 JDK 版本3. 尝试优化编译与类加载时间4. 尝试优化 GC 频率5. 选择 GC 降低延迟 1. 程序运行状态(调优前)配置OS: 32 位 Windows 7JDK: JDK 1.5 b64Memory: 4 G
转载 2023-08-29 11:20:02
436阅读
在讨论征集中,我建议我们通过在Java平台和JDK中引入静态运行时镜像(static run-time images )的概念来解决这些痛点。 • 静态镜像是一个独立的程序,由一个应用程序和一个JDK衍生而来,运行该应用程序,而不是其他程序。 • 静态镜像在它可以加载的类方面是一个封闭的世界。在运行时,它不能从镜像之外加载类,也不能动态地创建类。
转载 2023-08-07 11:43:26
64阅读
一、初识应用启动应用启动的流程在安卓系统上,应用在没有进程的情况下,应用启动都是这样一个流程:当点击app的启动图标时,安卓系统会从Zygote进程中fork创建出一个新的进程分配给该应用,之后会依次创建和初始化Application类、创建MainActivity类、加载主题样式Theme中的windowBackground等属性设置给MainActivity以及配置Activity层级上的一
转载 2024-08-05 13:48:32
80阅读
Android Multidex导致的App启动缓慢 Android社区中多次说到了dex包的65536方法数限制,现在针对这个问题的解决方法是dex分包(Multidexing)。虽然这是google提出的一个很好的解决办法,但是我注意到了它对App的启动速度影响很严重(这个问题现在还没有被Android社区所重视)。所以我写下了这篇文章,写给那些想实现dex分包但是不知道它的这个缺点或者已
随着业务发展的不断壮大,同时在迭代的过程中也会慢慢接入许多二方、三方的库,在程序刚开始启动的时候,无论是业务要求还是技术要求,我们往往有一堆需要在App启动,也就是Application里要初始化或者需要预加载的库、数据,随着长时间版本迭代这些相关代码没有任何统一的梳理控制,随意在主线程调用,随意起个线程加载,这就带来了一个问题,冷启动的时候,主线程跑个小2-3s或一坨后台线程竞争cpu资源,导致
转载 2023-08-29 15:52:38
475阅读
今天引入一些动态代理后,启动程序时间长达120s,找了下原因,详情可以看一下。简单来说就是,应用启动时有些框架或者日志组件,尤其是spring boot,会直接或间接地多次调用:java.net.InetAddress.getLocalHost()这个调用在操作系统中可能会耗时很久。解决办法有两种:1. 就是把本机的hostname 添加到 /etc/hosts 中,例如: 127.0.0.1 l
转载 2023-06-12 19:30:01
276阅读
引言:编程3年多了,感到自己知识体系零散,把自己知识体系梳理和学习一下。欢迎大家提意见,共同学习。 并发编程知识体系:线程基础概念解读、线程之间的共享和协作、线程并发工具类、原子操作CAS、显示锁和AQS、并发容器、线程池、并发安全、JVM、垃圾回收一、进程和线程的定义 进程:操作系统进行资源(cpu、内存、磁盘I/O等)分配的最小单位。当你运行一个程序,你就启动了一 个进程,是活的,应用程序是死
1、手工部署项目1、在IDEA中开发SpringBoot项目并打成jar包(通过Maven进行打包)(在target目录下的 jar包)2、将jar包上传到Linux服务器# 创建目录,将项目jar包放到此目录 mkdir /usr/local/app具体操作步骤:[root@localhost ~]# cd /usr/local [root@localhost local]# mkdir app
前言  app启动耗时过长的话,无论你的app里面的内容多么丰富有趣,作为一个用户,首先是没有耐心去等待的,如果我是一个用户,我会这样想:这是什么垃圾公司出的什么烂app,再等2s不进来就卸载,黑人问号???还真是垃圾,还没出来;于是乎,长按拖拽卸载,一套带走...  从个人层面讲,是对研发人员能力的否定;从公司层面讲,就是对该公司的否定;诸如,这家公司出的app很垃圾,同类产品也不会优先选择.由
在用户打开app的时候,第一个能够给用户产生好的印象的就是app的启动速度了。随着一个App的业务量越来越复杂,模块越来越多,app的启动速度就会不可避免的受到影响,有的甚至会产生黑屏或者白屏一段时间的现象,让我们细想一下,用户在点开app,app一直处于这种黑白屏的情况,要是我是我用户,很有可能会在心里对这个app有深深的抵触心里。所以,提高一个app的启动速度,是很有必要的一件事情。既然我们要
开始写本文的时候给大家提几个问题?Android手机开机我们就能看到桌面上一个个app,这是怎么实现的?应用开发的时候,我们在AndroidManifest.xml中配置组件信息,这些信息是如何被解析并且真正应用上的?应用开发的同学可能觉得我们不需要知道这个啊,我们会用就可以的。任何一个知识点,如果只是会用,不了解背后的实现机制,那只是一个简单的工具,没有转化成一个知识,更加不可能融化成一整套知识
现象公司的一个APP点击某些页面非常缓慢,有些等待1分钟,出现大部分用户不想使用的情况。目标要在3天内完成优化,越快越好。解决索引分析:某些跨表查询没有建立索引,虽然单表只有30万数据,但是一关联查询,特别是4、5张表关联时极其缓慢。解决方法:建立索引即可。缓存因为数据都从oracle数据库读取,我们首先想到的就是使用缓存代替。把全部配置表的数据放到Ehcache缓存中,不直接从oracle读取,
将您的 Java 应用程序 Docker 化随着每个人都转向 Kubernetes,知道如何对应用程序进行 Dockerize 是件好事。这是一个关于如何为 spring.io/guides 项目创建 Dockerfile、构建图像、将我们的图像推送到 dockerhub 以及在本地运行我们的容器化应用程序的小教程。快速了解 Docker为什么是Docker?它解决了“它在我的机器上运行”的问题。
问题的产生:Java项目打包部署,服务启动时出错,服务无法正常启动。查看启动日志,错误是 xml解析失败,无法找到xml元素的声明。具体报错日志如下:INFO: Loading XML bean definitions from class path resource [applicationContext-task.xml] org.xml.sax.SAXParseException; line
转载 2024-08-16 08:46:50
124阅读
在tomcat启动的时候,我们可以做一些优化设置来使得tomcat的启动更快速,下面是一些常见的优化加速启动的方法建议(以tomcat-7.+为例说明)。 1、  Jars包1.1、将一些不必要的jar包去掉,当tomcat启动加载jar包的时候,会去搜寻每个jar包里的class文件,这些都会耗费一些时间,如果你把不必要的jar包去掉了,很显然会节省时间。1.2、你可以将一些与TLD
转载 2023-10-11 09:09:01
228阅读
一、设置jvm  1、由于默认的jvm太多,但是实际上可以用的比较少,我们可以这样进行设置,使用鼠标右键单击桌面上的IntelliJ IDEA软件图标,选择“打开文件所在的位置”一栏   2、然后根据类型的排序,找到后缀为“vmoptions”的文件(注意和你的操作系统版本一致,32bit || 64bit)   3、找到之后将他们打开,然后更改Xmx与Xms这里需要解释一下X
转载 2024-01-10 23:34:58
36阅读
 参考:http://www.atatech.org/articles/41454 很多流量大的Java应用在重启的瞬间很容易出现负载比较高的现象,通常会看到的原因可能是GC线程、业务处理线程以及JVM编译线程耗CPU较多,这个问题在目前要解决其实是比较困难的,原因如下。Java程序在启动的时候所有代码的执行都处于解释执行模式,只有在运行了一段时间后,根据代码方法执行的次数,或
Java应用启动的时候需要做大量的编译工作,如果应用依赖了Spring,因为其IOC的特性会提前加载运行时所需的各种Bean,随着项目变的复杂,里面的Bean也越来越多...其中带来一个新的问题就是项目每次启动非常: 见过比较慢的应用启动一次要30分钟,一个下午发布几次代码时间就没了。 就算是自己应用,写了两年之后,发现每次启动也需要个5~10分钟的时间,这种启动速度会极大的降低开发的效率。如
  • 1
  • 2
  • 3
  • 4
  • 5