是否有一些工具能够分析Java源文件,从中构建图形并以某种标准/可理解的格式提供图形数据?
它绝对不需要GUI,我更喜欢命令行的东西,所以我可以通过各种工具处理输出(用于分段,可视化,......).
集群/分发Java服务器应用程序的最佳方法是什么?我正在寻找一种方法,允许您通过添加更多应用程序服务器和更多数据库服务器来水平扩展.
"最佳"解决方案允许您为单个节点编写Java应用程序,并希望"隐藏"访问/锁定共享数据的大部分细节.
在分布式环境中,最困难的问题总是归结为多个事务访问共享数据.似乎有两种常见的并发事务方法.
我一直在研究扩展解决方案(以及提供如何扩展的示例的一般应用程序),例如:
Terracotta似乎是最完整的解决方案,因为您可以"轻松"修改现有服务器应用程序以支持扩展(在定义@Root对象和@AutoLockRead/Write方法之后).问题是要真正从分布式应用程序中获得最大的性能,分布式系统的优化实际上并不是一个想法,你必须设计它,知道对象访问可能被网络I/O阻止.
为了正确扩展,似乎总是归结为分区数据和负载平衡事务,例如给定的"执行单元"(cpu core - > thread - >分布式应用程序节点 - > DB主节点)
似乎通过群集使任何应用程序可以正确扩展,您需要能够根据数据访问读/写对事务进行分区.人们提出了哪些解决方案来分发他们的应用程序数据(Oracle,Google BigTable,MySQL,数据仓库),以及一般如何管理分区数据(许多写入主数据库,以及更多读取数据库等).
在扩展数据持久层方面,在将数据划分给许多读者/多个编写者方面,哪种类型的配置最佳扩展(通常我会基于给定用户(或通常是您的任何核心实体)对数据进行分区"root"对象实体)由单个主DB拥有
java concurrency scalability transactions optimistic-locking
在server.xml中我已经定义了全局资源(我正在使用Tomcat 6):
<GlobalNamingResources>
<Resource name="jdbc/myds" auth="Container"
type="javax.sql.DataSource"
maxActive="10" maxIdle="3" maxWait="10000"
username="sa" password=""
driverClassName="org.h2.Driver"
url="jdbc:h2:~/.myds/data/db"
/>
</GlobalNamingResources>
Run Code Online (Sandbox Code Playgroud)
我在catalina.out中看到这是绑定的,所以我想它没关系.
在我的网络应用程序中,我有数据源的链接,我不确定它是否正常:
<Context>
<ResourceLink global='jdbc/myds' name='jdbc/myds' type="javax.sql.Datasource"/>
</Context>
Run Code Online (Sandbox Code Playgroud)
在应用程序中有persistence.xml:
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="oam" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<non-jta-data-source>jdbc/myds</non-jta-data-source>
<!-- class definitions here, nothing else -->
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
</properties>
</persistence-unit>
</persistence>
Run Code Online (Sandbox Code Playgroud)
它应该没问题,但很可能这个或者ResourceLink定义是错误的,因为我得到了:
javax.naming.NameNotFoundException:名称jdbc未绑定在此Context中
有什么不对,为什么这不起作用?
更新:
我试图直接获取数据源:
public class WebAppListener implements ServletContextListener
{
// ServletContextListener interface - start
public void contextInitialized(ServletContextEvent sce)
{
try
{
Context initCtx = new InitialContext(); …Run Code Online (Sandbox Code Playgroud) 我有一个代码从一些分页字符串数据读取列表.我不明白 - 为什么在addAll()上抛出UnsupportedOperationException以及为什么它是随机行为?
我知道创建目标ArrayList并且不添加到返回的那个解决了问题,我正在寻找更好的理解而不是修复.
List<Event> eventList = eventTable.getEvents(); // returns ArrayList
while (hasNextPage()) {
goToNextPage();
eventList.addAll(eventTable.getEvents());
}
Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序,我正在使用自定义主题应用于主要活动本身的Android清单中.此活动创建一个列表视图,其中应用了样式.
如果我为该列表视图创建自定义布局,包括行本身的单独xml文件,并且我将样式直接应用于这些布局,这种样式是否会覆盖应用程序的整体样式?我试图掌握事件的层次结构,就样式和主题的工作方式而言.
在我的示例中,我工作的方式是:对行应用样式,由行布局xml引用>对整体列表视图应用样式,由listview布局xml引用>从自定义主题应用样式,由android清单引用的样式xml引用
我对吗?或者我正在接近这个错误.(仅仅为了混淆,">"我的意思是比重要的更重要)
据我所知,sleep()它用于在指定时间内休眠一个线程.我制成的纤维束的例子-比如1我正在作为输出1,2,3,4因为我只创建一个.在例2中,我创建的线程的2个实例,我获得输出1,1,2,2,3,3,4,4.
为什么输出不1,2,3,4第一个线程,然后1,2,3,4为第二个?
例1:
// Using sleep() method
public class Aaa extends Thread{
public void run(){
for(int i=1;i<5;i++){
try{
Thread.sleep(500);
} catch(InterruptedException e){
System.out.println(e);
}
System.out.println(i);
}
}
public static void main(String[] args){
Aaa m1=new Aaa();
m1.start();
}
} …Run Code Online (Sandbox Code Playgroud) 我正在使用logback 0.9.21.不幸的是,它将所有消息打印到单行,没有行尾字符,甚至错误的一行.
我的模式设置正确AFAIK:
<pattern>%d{HH:mm:ss.SSS} %-5level %class (%thread) [%logger{36}] -- %msg%n</pattern>
Run Code Online (Sandbox Code Playgroud)
有什么收获?
关于如何进行低级Java优化有很多问题和答案以及意见,包括for,while和do-while循环,以及是否有必要.
我的问题更多的是基于高级别的设计优化.我们假设我必须做以下事情:
对于给定的字符串输入,计算字符串中每个字母的出现次数.
当字符串是几个句子时,这不是一个主要问题,但如果相反,我们想要计算900,000个单词文件中每个单词的出现.建设循环只是浪费时间.
那么什么是可以应用于此类问题的高级设计模式.
我想我的主要观点是我倾向于使用循环来解决许多问题,并且我想摆脱使用循环的习惯.
提前致谢
山姆
ps如果可能,你可以产生一些伪代码来解决900,000字的文件问题,我倾向于理解代码比我能理解英语更好,我认为对于这个网站的大多数访问者来说都是一样的
一个页面如何链接到django的管理页面?我尝试更改 base.html 页面,但它已反映到管理的所有 html 页面上。这可以仅链接到列出所有应用程序的管理索引页面吗?
我需要关闭 Angular CLIng build命令输出中的颜色,即它完成时写入控制台的摘要。有没有某种方法(最好是环境变量或命令行参数)来禁用它?
java ×7
algorithm ×1
android ×1
angular ×1
angular-cli ×1
arraylist ×1
bigdata ×1
concurrency ×1
datasource ×1
dependencies ×1
distributed ×1
django ×1
exception ×1
hibernate ×1
jpa ×1
list ×1
logback ×1
logging ×1
mobile ×1
scalability ×1
tomcat ×1
transactions ×1
xml ×1