在代码中从maven的pom.xml中检索版本号的最简单方法是什么,即以编程方式?
我有一个具有以下结构的数据库:
CREATE TABLE entity (
id SERIAL,
name VARCHAR(255),
PRIMARY KEY (id)
);
CREATE TABLE entity_property (
entity_id SERIAL,
name VARCHAR(255),
value TEXT
);
Run Code Online (Sandbox Code Playgroud)
当我尝试创建一个EntityProperty类时
@Entity
@Table(name="entity_property")
public class EntityProperty {
private String name;
private String value;
@Column(name="name")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Column(name="value", nullable=true, length=255)
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
org.hibernate.AnnotationException: No identifier specified for …Run Code Online (Sandbox Code Playgroud) 我在理解JVM进程如何分配自己的内存方面有一点差距.我所知道的
RSS = Heap size + MetaSpace + OffHeap size
Run Code Online (Sandbox Code Playgroud)
其中OffHeap由线程堆栈,直接缓冲区,映射文件(库和jar)和JVM代码本身组成;
目前我正在尝试分析我的Java应用程序(Spring Boot + Infinispan),其中RSS为779M(它在docker容器中运行,因此pid 1可以):
[ root@daf5a5ae9bb7:/data ]$ ps -o rss,vsz,sz 1
RSS VSZ SZ
798324 6242160 1560540
Run Code Online (Sandbox Code Playgroud)
换句话说,我想解释799M - (374M + 89M)= 316M的OffHeap内存.
每个线程消耗1M:
[ root@fac6d0dfbbb4:/data ]$ java -XX:+PrintFlagsFinal -version |grep ThreadStackSize
intx CompilerThreadStackSize = 0
intx ThreadStackSize = 1024
intx VMThreadStackSize = 1024
Run Code Online (Sandbox Code Playgroud)
所以,在这里我们可以添加36M.
应用程序使用DirectBuffer的唯一地方是NIO.据我所知,从JMX可以看出,它不会消耗大量资源 - 只有98K

最后一步是映射libs和jar.但根据pmap(完整输出 …
我想在等待VideoView开始播放HLS时向用户显示一些ProgressDialog.我尝试使用OnPreparedListener,但他早期触发(播放器下载m3u8文件后,而不是视频启动时).
VideoView player = (VideoView) findViewById(R.id.player);
String httpLiveUrl = "http://example.com/playlist.m3u8";
player.setVideoURI(Uri.parse(httpLiveUrl));
player.setMediaController(new MediaController(this));
player.requestFocus();
player.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
progress.dismiss();
}
});
progress.show();
player.start();
Run Code Online (Sandbox Code Playgroud)
我没有找到另一个合适的列表...可能有人知道sloution?
有两个JPA实体:具有一对多关系的用户和订单.
/**
* User DTO
*/
@Entity
@Table(name="user")
public class User implements Serializable {
private static final long serialVersionUID = 8372128484215085291L;
private Long id;
private Set<Order> orders;
public User() {}
@Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="sequenceUser")
public Long getId() {
return this.id;
}
private void setId(Long id) {
this.id = id;
}
@OneToMany(mappedBy="user", cascade=CascadeType.PERSIST, fetch=FetchType.LAZY)
@LazyCollection(LazyCollectionOption.EXTRA)
public Set<Order> getOrders() {
return orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
}
/**
* Order DTO
*/
@Entity
@Table(name="order")
public class Order …Run Code Online (Sandbox Code Playgroud) 我有一个像这样的“请求”对象(ID、数量、价格)列表
List<Request> requests = Arrays.asList(
new Request(id++, 20, 59.28),
new Request(id++, 10, 61.23),
new Request(id++, 30, 60.67),
new Request(id++, 25, 60.16),
new Request(id++, 60, 59.67));
Run Code Online (Sandbox Code Playgroud)
我想在一次迭代中计算两个指标 - sum(amount) 和 sum(amount * price)。我需要他们来计算平均价格:sum(amount * price) / sum(amount)。
考虑到我想使用 Java 8 流,我发现的唯一变体是将值映射到 Pair 对象并实现自定义使用者:
static class Aggregate implements Consumer<Pair<Double, Double>> {
private double count = 0L;
private double sum = 0L;
public double average() {
return count > 0 ? sum/(double) count : 0;
}
public void combine(Aggregate other) {
count += …Run Code Online (Sandbox Code Playgroud) 我非常想在我的Android应用程序中播放mp4视频.我甚至为它编写了一些代码:
String sourceUrl = "http://tvstream.cn.ru/storage/1kanal/20120530/"
+ "1kanal-20120530-01-14-00-20120530-03-16-00.mp4";
final VideoView videoView = (VideoView) findViewById(R.id.videoView);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
final MediaController mediaController = new MediaController(this);
mediaController.setMediaPlayer(videoView);
videoView.setMediaController(mediaController);
videoView.setVideoURI(Uri.parse(sourceUrl));
videoView.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
videoView.requestFocus();
videoView.start();
mediaController.show();
}
});
Run Code Online (Sandbox Code Playgroud)
但没有任何作用:(当我在模拟器(Android 2.3.3)中启动我的应用程序时,我有一些奇怪的堆栈跟踪与一些常见的错误代码:
在谷歌搜索和实验几个小时后,我决定尝试在真实设备上启动我的应用程序并观看logcat:
D/test.tv.activity.PlayerActivity( 3428): Player source: http://tvstream.cn.ru/storage/1kanal/20120530/1kanal-20120530-01-14-00-20120530-03-16-00.mp4
D/VideoView( 3428): onMeasure()
I/VideoView( 3428): Setting size: 320x430
I/Launcher( 260): onWindowFocusChanged(false)
D/Launcher( 260): setWallpaperDimension() called
D/Launcher( 260): USE_NON_SCROLLABLE_IMAGE_WALLPAPER is true
I/ActivityManager( 163): Start proc org.reactivephone for broadcast org.reactivephone/ru.yandex.common.clid.ClidBroadcastReceiver: pid=3448 uid=10073 gids={1015, 3003}
I/ActivityManager( 163): No longer …Run Code Online (Sandbox Code Playgroud) 我想创建在Jetty下运行的简单的Spring MVC"Hello world"应用程序(这是应用程序的一部分).
我的申请结构是:
|-WEB-INF
| |-view
| |-layout
| |-index.jsp
| |-web.xml
|
|-jetty.xml
|-application-context.xml
Run Code Online (Sandbox Code Playgroud)
我尝试创建Jetty服务器并基于web.xml文件添加Web应用程序上下文:
Resource jettyConfig = Resource.newSystemResource("jetty.xml");
XmlConfiguration configuration = new XmlConfiguration(jettyConfig.getInputStream());
Server server = (Server)configuration.configure();
WebAppContext wac = new WebAppContext();
wac.setDescriptor("WEB-INF/web.xml");
wac.setContextPath("/");
wac.setParentLoaderPriority(true);
server.setHandler(wac);
server.start();
Run Code Online (Sandbox Code Playgroud)
服务器启动正常,但没有我的上下文:没有关于弹簧启动日志的信息,spring mvc控制器不可用.有什么想法我做错了吗?
jetty.xml的内容:
<Configure id="server" class="org.mortbay.jetty.Server">
<Call name="addConnector">
<Arg>
<New class="org.mortbay.jetty.nio.SelectChannelConnector">
<Set name="port">9080</Set>
</New>
</Arg>
</Call>
<Set name="handler">
<New class="org.mortbay.jetty.handler.HandlerList">
<Set name="handlers">
<Array type="org.mortbay.jetty.Handler">
<Item>
<New class="org.mortbay.jetty.handler.DefaultHandler" />
</Item>
<Item>
<New class="org.mortbay.jetty.handler.ResourceHandler">
<Set name="resourceBase">.</Set>
</New>
</Item>
</Array>
</Set>
</New>
</Set> …Run Code Online (Sandbox Code Playgroud) 我尝试使用CXF,Jetty和Spring创建简单的Web服务.我创建服务接口
@WebService
public interface AnonymousService {
@WebMethod
public String getVersion();
}
Run Code Online (Sandbox Code Playgroud)
及其实施
@Service("anonymousService")
@WebService(
serviceName = "AnonymousService",
targetNamespace = "http://ws.test/",
endpointInterface = "test.ws.AnonymousService"
)
public class AnonymousServiceImpl {
public String getVersion() {
return "Version";
}
}
Run Code Online (Sandbox Code Playgroud)
下一步我添加到Spring上下文配置文件端点声明
<jaxws:endpoint id="anonymousServiceEndpoint"
implementor="#anonymousService" address="/anonymous" />
Run Code Online (Sandbox Code Playgroud)
并配置Jetty bean
<bean id="server" class="org.mortbay.jetty.Server" destroy-method="stop">
<property name="connectors">
<list>
<bean id="connector" class="org.mortbay.jetty.nio.SelectChannelConnector">
<property name="port" value="${server.port}" />
</bean>
</list>
</property>
<property name="handlers">
<list>
<ref bean="workflowContext" />
</list>
</property>
</bean>
<bean name="workflowContext" class="org.mortbay.jetty.servlet.Context">
<property name="contextPath" value="/" />
<property name="servletHandler">
<bean …Run Code Online (Sandbox Code Playgroud) 我有两个应该比较的变量:
Double a = 1D;
Double b = 2D;
if (a > b) {
System.out.print("Ok");
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,java将使用自动装箱或比较两个对象的引用?
java ×7
android ×2
hibernate ×2
jpa ×2
autoboxing ×1
cxf ×1
jetty ×1
jvm ×1
lazy-loading ×1
linux ×1
maven-2 ×1
memory-leaks ×1
orm ×1
spring ×1
spring-boot ×1
spring-mvc ×1
stream ×1
transactions ×1
version ×1